Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Уроки по Python, обсуждение  (Прочитано 23933 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #195 : 28 Апреля 2015, 15:04:07 »
S3R1OUS, не вставляё код в виде картинок.
Код для второго питона?
Код: (python) [Выделить]
import math
a = 0.0
b = 1.0
print math.sqrt(a*b)/(math.e**a * b) + a*math.e**(2*a/b)
« Последнее редактирование: 28 Апреля 2015, 19:47:06 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн S3R1OUS

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #196 : 28 Апреля 2015, 16:32:40 »
alsoijw,
питон 2.7.6, как сюда вставить код который писал я?

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #197 : 28 Апреля 2015, 17:47:36 »
S3R1OUS, выбири моё сообщение/цитировать и посмотри что стоит вокруг кода. После равно выбираешь язык. Использую магию :2funny:, чтобы ты увидел текст и его не обработал парсер. Его не копировать, а запомнить как выглядит. Вставлять при помощи кнопки с решёткой
[c​ode=python]вот тут твой код[/co​de]

Пользователь решил продолжить мысль 28 Апреля 2015, 18:24:20:
S3R1OUS, и ещё: не запускай код, скажи что он напечатает. Запусти. Код для второго птона
Код: (python) [Выделить]
a = 1
b = 2
print a/b
И чем будет/не будет отличаться такая форма
Код: (python) [Выделить]
a = 1.0
b = 2.0
print a/b
Учитывай это.
« Последнее редактирование: 28 Апреля 2015, 18:24:20 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Grigory Smirnov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Уроки по Python, обсуждение
« Ответ #198 : 28 Апреля 2015, 19:14:09 »
S3R1OUS, пардон, но если хочешь научиться программировать, то пробуй исправлять все ошибки в коде сам, прибегая к помощи лишь в редких случаях. В дальнейшем никто не сможет тебе все разжевывать.

Несколько советов по написанию кода:
  • Импорт пакетов делается до объявления переменных
  • Лучше разбивать такие длинные формулы на части (зеленая строка в Geany показывает максимально рекомендуемую длину строки)
Конкретно в вашем случае: перемножьте переменные и извлеките корень, сохраните в переменной. Поделите ее на нижнее выражение, сохраните в переменной. Затем уже прибавляйте ae. Будет проще на первых порах.

(Нажмите, чтобы показать/скрыть)

alsoijw, не обижай новичков-то, что за намеки об уме  ???
« Последнее редактирование: 29 Апреля 2015, 19:52:28 от Grigory Smirnov »

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #199 : 28 Апреля 2015, 19:46:38 »
Grigory Smirnov, ничего, теперь он поумнел. Зачем код разбивать на куски?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Phlya

  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #200 : 28 Апреля 2015, 19:49:04 »
alsoijw,
Для наглядности и упрощения поиска ошибок, конечно.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Grigory Smirnov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Уроки по Python, обсуждение
« Ответ #201 : 28 Апреля 2015, 20:20:39 »
alsoijw, полностью согласен с Phlya:
Цитировать
Для наглядности и упрощения поиска ошибок, конечно.
Мы же здесь новичку помогаем, а не продакшн код пишем.

Оффлайн S3R1OUS

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #202 : 29 Апреля 2015, 09:50:55 »
alsoijw,
Phlya,
Grigory Smirnov,
я переписал код немного по другому:
(Нажмите, чтобы показать/скрыть)
при том что "a" и "b" аргументы командной строки, должно работать.
По этому не могу понять в чём ошибка.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #203 : 29 Апреля 2015, 10:41:45 »
S3R1OUS, а читать пробовали про argv?
http://wombat.org.ua/AByteOfPython/modules.html
Извините, я все еще учусь

Оффлайн S3R1OUS

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #204 : 29 Апреля 2015, 13:16:31 »
SergeyIT,
Я только начал изучать Python, по-этому для меня argv пока - тёмный лес. Просто пытаюсь написать решения уравнения из тестового задания лекции. Возможно из-за этого столько головняка, решить и сдать задание нужно, а понимания как это правильно сделать = 0. Даже по оставленной ссылке, понятного мало. Использовать sys.argv подсказали на другом форуме, вот и спользовал по своему пониманию. Судя по результату - понимание кривое и хромое :)

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #205 : 05 Мая 2015, 18:58:02 »
S3R1OUS, разобрался?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sasha30

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #206 : 02 Января 2016, 01:56:08 »
Всем привет! Тут помню писал я в этой теме, еще в 2013 году :)

Вот немного программу усовершенствовал. Увлекаюсь питоном, немного изучаю его и экспериментирую. Возможно, кому-то будет полезно!
Небольшая программа для расчета ежедневных трат:
# -*- coding: iso-8859-15 -*-
print 'Программа для рассчитывания требуемых доходов \n Все значения пишите в рублях. \n Copyright by Sasha30'
zatrata=int(input("Введите ваши ежедневные затраты: "))
arenda=int(input("Введите стоимость аренды квартиры в месяц(если не арендуете, напишите 0, или напишите сумму ежемесячных коммунальных платежей:) "))
proezd=int(input("Введите затраты в месяц на проезд(авто/общественный транспорт), если не пользуетесь, то 0: "))
a=zatrata+arenda/3030+proezd/30
minimum=a*30+arenda+proezd
comfort=a*60+arenda+proezd
print '========================================'
print 'Вы тратите в день:' ,zatrata, 'рублей'
print 'В день примерно, учитывая затраты на аренду и проезд Вам нужно зарабатывать как минимум:' ,a, 'рублей'
print 'Минимальный уровень доходов  в месяц у Вас должен быть:' ,minimum, 'рублей'
print 'Ваш уровень доходов для комфортной жизни примерно должен быть:', comfort, 'рублей'


Разбираем все по порядку:
# -*- coding: iso-8859-15 -*-Указываем кодировку, чтобы нормально отображалась кириллица
print 'Программа для рассчитывания требуемых доходов \n Все значения пишите в рублях. \n Copyright by Sasha30'Отображаем текст на экране.
\n - перенос текста на другую строку
\t - пробел
zatrata=int(input("Введите ваши ежедневные затраты: "))
arenda=int(input("Введите стоимость аренды квартиры в месяц(если не арендуете, напишите 0, или напишите сумму ежемесячных коммунальных платежей:) "))
proezd=int(input("Введите затраты в месяц на проезд(авто/общественный транспорт), если не пользуетесь, то 0: "))
здесь мы предлагаем пользователю ввести данные.
где zatrata=int(input("Введите ваши ежедневные затраты: ")) - тут пользователь вводит данные, которые запоминаются под переменной zatrata.
где int - это значит целое число, т.е если мы напишем, к примеру 1.54 ,то программа его прочитает просто как 1
input - эта команда задает режим ввода. т.е пользователь вводит данные
дальше arenda и proezd такие же переменные, по такому же принципу

a=zatrata+arenda/30+proezd/30
minimum=a*30+arenda+proezd
comfort=a*60+arenda+proezd

здесь мы вводим новые переменные, которые включают в себя переменные, которые ввел пользователь.
итого получаем переменная a состоит из переменной zatrata + arenda/30(переменную делим на 30) + proezd/30(также делим на 30)

в питоне тут ничего сложного нет. + это сложение, - это вычитание, * произведение, / деление

и также по аналогии мы вводим еще две переменные:minimum и comfort

называть можете как хотите.
это Ваше дело и для вашего удобства :)
итак, программа уже все посчитала. осталось только вывести все эти данные на экран.
воспользуемся для этого командой print :

print '========================================'
print 'Вы тратите в день:' ,zatrata, 'рублей'
print 'В день примерно, учитывая затраты на аренду и проезд Вам нужно зарабатывать как минимум:' ,a, 'рублей'
print 'Минимальный уровень доходов  в месяц у Вас должен быть:' ,minimum, 'рублей'
print 'Ваш уровень доходов для комфортной жизни примерно должен быть:', comfort, 'рублей'

состоит ввод данных так:
print 'так вводится текст' - так мы просто отображаем текст, который вводим. чтобы вывести данные из переменной, можно ввести просто так:
print имяпеременной

если же мы хотим соединить и текст и переменную в одну строку, чтобы красиво сделать, тогда воспользуемся запятыми.
и получим в итоге:

print 'ваштекст' ,имяпеременной

проще говоря текст всегда берется в такие кавычки ' , а переменная просто пишется, без кавычек. а чтобы разделить текст и переменную то пользуемся запятой, как я показал выше.

Удачи Вам! :) Будем осваивать язык вместе! И Всех с Новым 2016 Годом!

Оффлайн Phlya

  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Уроки по Python, обсуждение
« Ответ #207 : 02 Января 2016, 02:31:54 »
Если это питон 2.Х (что видно по print не функции), то следует использовать raw_input(), а не input(), который надо применять в питон 3.Х
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Уроки по Python, обсуждение
« Ответ #208 : 02 Января 2016, 23:00:41 »
Sasha30, \t - табуляция, а не пробел.
Кодировку лучше выбирать UTF-8
# -*- coding: utf-8 -*-
А первой строчкой лучше указать:
#!/usr/bin/env python
для втрого питона или
#!/usr/bin/env python3
для третьего. Тогда всем понятно будет какой версией языка вы пользовались.

Для форматирования вывода текста с переменными полезно использовать шаблоны %s, %d и им подобные - там можно для чисел задать более внятное представление, например с двумя знаками за запятой как это соответствует рублям с копейками.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Уроки по Python, обсуждение
« Ответ #209 : 02 Января 2016, 23:03:16 »
S3R1OUS, sys.argv[0] - это имя программы/скрипта, а первый параметр переданный ему это - sys.argv[1]....
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.053 секунд. Запросов: 25.