Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 9, 2012 16:23:45

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обьясните цикл While

Ребят, я только начинаю осваивать Питон, подскажите пожалуйста

Не понимаю по какому принципу, когда меняешь местами инструкции в циклах, меняются и полученные значения.
Например:
print ('————-')
C=-20
dC=5
while C<=40:
F=1.8*C+32
print (C,F)
C=dC+C
#Без этой С, цикл бесконечно выводит одни и те же значения, но какие функции выполняет эта инструкция, и почему она ставится ниже print (C,F)?
print ('————-')

-20 -4.0
-15 5.0
-10 14.0
-5 23.0
0 32.0
5 41.0
10 50.0
15 59.0
20 68.0
25 77.0
30 86.0
35 95.0
40 104.0

print ('————-')
C=-20
dC=5
while C<=40:
F=1.8*C+32
C=dC+C
print (C,F)

print ('————-')


-15 -4.0
-10 5.0
-5 14.0
0 23.0
5 32.0
10 41.0
15 50.0
20 59.0
25 68.0
30 77.0
35 86.0
40 95.0
45 104.0



Отредактировано AlexSSpirit (Июнь 9, 2012 16:43:06)

Офлайн

#2 Июнь 9, 2012 16:36:17

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

Обьясните цикл While

Смотрите внимательно блок. В первом случае вы сперва находите F, выводите значения, потом делаете новое С. Во втором случае делаете С, перед выводом значений.



Офлайн

#3 Июнь 9, 2012 16:45:48

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обьясните цикл While

F=1.8*C+32
print (C,F)
C=dC+C #Без этой С, цикл бесконечно выводит одни и те же значения, но какие функции выполняет эта инструкция, и почему она ставится ниже print (C,F)?



Офлайн

#4 Июнь 9, 2012 16:54:25

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

Обьясните цикл While

AlexSSpirit
C=dC+C #Без этой С, цикл бесконечно выводит одни и те же значения
Все потому, что значение С в этом случае не меняется и всегда будет равно -20, а блок инструкции while будет выполнятся пока выражение С<=40 истинно. (то есть пока С не станет больше 40 будет бесконечный цикл)



Офлайн

#5 Июнь 9, 2012 18:02:54

AlexSSpirit
От:
Зарегистрирован: 2012-03-07
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Обьясните цикл While

Видимо не правильно обьясняю вещь, которую хочу понять.


Почему при:
F=1.8*C+32
C=dC+C
print (C,F)

Результат заканчивается на 45 104.0
Ведь, в условии написано C<=40



И если хочешь например чтобы цикл рузльтат начинался, со вбитого значения
C=-20

То получается обязательно порядок инструкций должен быть таковой:
F=1.8*C+32
print (C,F)
C=dC+C

?



Офлайн

#6 Июнь 11, 2012 20:50:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Обьясните цикл While

AlexSSpirit
print ('————-')
C=-20
dC=5
while C<=40:
F=1.8*C+32
print (C,F)
C=dC+C #
Где в этом коде отступы?
Предположим, это мой код, а не Ваш, Вы сможете это понять? Я не способен.



Офлайн

#7 Июнь 12, 2012 21:10:47

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Обьясните цикл While

AlexSSpirit
Видимо не правильно обьясняю вещь, которую хочу понять.


Почему при:
F=1.8*C+32
C=dC+C
print (C,F)

Результат заканчивается на 45 104.0
Ведь, в условии написано C<=40

С=40 и он заходит в цикл. Потом ты увеличиваешь на dc и после этого печатаешь C, которое уже стало 45.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version