Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 5, 2018 12:42:45

rin81
Зарегистрирован: 2018-05-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните будущие коллеги как этот цикл функционирует

Не пойму почему получается именно так? Логику цикла объясните пожалуйста на пальцах

i = 0
while i < 5:
print('*')
if i % 2 == 0:
print('**')
if i > 2:
print('***')
i = i + 1


*
**
*
*
**
*
***
*
**
***

Отредактировано JOHN_16 (Июнь 5, 2018 13:51:40)

Офлайн

#2 Июнь 5, 2018 13:50:57

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Объясните будущие коллеги как этот цикл функционирует

rin81
код надо постить в тегах code



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июнь 6, 2018 14:30:49

NiOl
Зарегистрирован: 2018-05-07
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

Объясните будущие коллеги как этот цикл функционирует

Странно, что Вам это не понятно. Переведите на русский язык и прогоните скрипт в голове:

i=0
рисуем звездочку на каждый проход цикла
проверяем 0 на четность (деление на 2 без остатка: i%2==0)
0 четное, значит рисуем 2 зведочки
проверяем, 0 больше 2? не-а, пропускаем
увеличиваем i, теперь там 1, 1 меньше 5 - повторяем цикл

рисуем звездочку на очередной проход цикла
проверяем 1 на четность, не-а, пропускаем
проверяем, 1 больше 2? не-а, пропускаем
увеличиваем i, теперь там 2, 2 меньше 5 - повторяем цикл

рисуем звездочку на очередной проход цикла
проверяем 2 на четность, рисуем 2 звездочки
проверяем, 2 больше 2? не-а, пропускаем
увеличиваем i, теперь там 3, 3 меньше 5 - повторяем цикл

рисуем звездочку на очередной проход цикла
проверяем 3 на четность, не-а, пропускаем
проверяем, 3 больше 2? да, рисуем 3 звездочки
увеличиваем i, теперь там 4, 1 меньше 5 - повторяем цикл

рисуем звездочку на очередной проход цикла
проверяем 4 на четность, рисуем 2 звездочки
проверяем, 4 больше 2? да, рисуем 3 звездочки
увеличиваем i, теперь там 5, 5 не меньше 5, цикл закончен

Итого, по проходам:
i=0
*
**
i=1
*
i=2
*
**
i=3
*
***
i=4
*
**
***

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version