Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 24, 2014 18:30:59

studentmk_32
Зарегистрирован: 2014-10-24
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по циклу

Здравствуйте. Помогите, пожалуйста, разобраться.
Имеем цикл:

t_1 = 3.
h = 0.1
t =0.
while t < t_1:
t = t + h
print t

Почему при t_1 = 3. печатает 3.0, а при t_1 = 5. - 5.1?
Как это понимать?

Офлайн

#2 Окт. 24, 2014 20:21:28

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Вопрос по циклу

почитайте о типах данных
вот, к примеру, чтобы вы поняли

t_1 = 5.0
h = 0.1
t = 0.0
while t < t_1-0.000000000000005:
    t += h
    print t, t < t_1
или
t_1 = 5.0
h = 0.1
t = 0.0
while t < t_1:
    t += h
    t = round(t,1)
    print t, t < t_1



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Окт. 25, 2014 01:00:58

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Вопрос по циклу

чтоб этого не происходило используйте dcim или срезайте количество знаков после запятой.

Офлайн

#4 Окт. 25, 2014 09:47:58

studentmk_32
Зарегистрирован: 2014-10-24
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по циклу

Спасибо Вам, разобрался.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version