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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Уроки по Python, часть 1, основы  (Прочитано 10228 раз)

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

Оффлайн Grigory Smirnov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Уроки по Python, часть 1, основы
« Ответ #30 : 27 Июля 2013, 23:34:55 »
Alexey_Pr, нет, смысл делать из себя дурачка? Во-первых, где я писал int(7.2)? Во-вторых, и ежу понятно, что для дробных чисел надо float. В-третьих, если знаете, как делать, то зачем намекать, что автор уроков ничего не знает, а вы тут несчастный запутались из-за него, только stackoverflow и выручил (ну или документация).
Gekko, спасибо! Стараюсь.

Оффлайн Alexey_Pr

  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
    • Linux в Туле
Re: Уроки по Python, часть 1, основы
« Ответ #31 : 28 Июля 2013, 12:05:54 »
Alexey_Pr, нет, смысл делать из себя дурачка? Во-первых, где я писал int(7.2)? Во-вторых, и ежу понятно, что для дробных чисел надо float. В-третьих, если знаете, как делать, то зачем намекать, что автор уроков ничего не знает, а вы тут несчастный запутались из-за него, только stackoverflow и выручил (ну или документация).
Gekko, спасибо! Стараюсь.

Я совершенно не понял ваш ответ (кроме того что обиделись), особенно про stackoverflow. Я написал, что у меня не сработал пример
int('7.2') выдал ошибку, я полагал, что пример должен был сработать аналогично функции atoi (из C - преобразует строку в целое число, причем если есть десятичная точка или другой символ не цифра, то он и все следующие отбрасываются). Поэтому предлагаю разобраться почему не сработало, я провел ряд экспериментов (написал выше в своем посте), но результата не добился. Попробовал такое решение:
>>> int('7.2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '7.2'
>>> r=float('7.2')
>>> print (r)
7.2
>>> int(r)
7
>>>
т.е. сначала завожу переменную float, потом ее преобразую в int, но это как-то совсем плохо выглядит.
С уважением, Алексей.
http://tulalinux.ru

Оффлайн Grigory Smirnov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Уроки по Python, часть 1, основы
« Ответ #32 : 29 Июля 2013, 00:16:20 »
Alexey_Pr, объясняю: float для чисел с запятой. Вы кажется это знаете, но используете какое-то дикое преобразование типов. Не специально ли?

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Уроки по Python, часть 1, основы
« Ответ #33 : 29 Июля 2013, 09:32:24 »
Grigory Smirnov,
Один фиг у вас ошибка. int() при преобразовании строки десятичные дроби не переваривает. Тогда лучше так написать: int(7.2)

Оффлайн Grigory Smirnov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Уроки по Python, часть 1, основы
« Ответ #34 : 29 Июля 2013, 15:32:24 »
Alexey_Pr, простите, просто устал. Да, это ошибка. Но чего разбираться, если я уже написал, что int для целых чисел, float для чисел с запятой?
 Freezeman, возможно есть ошибки, проверял быстро все. Исправлю. Спасибо, что помогаете!


 

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