3.Дан код программы p=1 for i in range(2, 5, 2):if i == 5: breakelse: p=p*i print(p) Определите значение переменной р
Ответы
Ответ:
p = 8
Код:
p=1
for i in range(2, 5, 2):
if i == 5:
break
else:
p=p*i
print(p)
Результат выполнений:
>>> 8
Объяснение:
функция range(начало, конец, шаг) имеет 3 аргументов, 2 из них не обязательные: начало, шаг их можно не задавать, по умолчанию начало = 0, шаг = 1
в вашем коде заданы такие параметры range(2, 5, 2) это значить ваш цикл начинается от 2, то есть в первом цикле i = 2; останавливает цикл когда i = 5, увеличивает i = i + 2 в каждом заходе в цикл, получается ваш цикл будет работать только 2 раза
в цикле написан проверка i == 5, это никогда ре работает так как у нас цикл начинается с 2 и увеличивается на 2 в каждом повторений
ну короче в первом заходе у нас i = 2, p = 1
p = p * i ---- p = 1 * 2
теперь p = 2
Во втором заходе i = 4, p = 2
p = 2 * 4
теперь p = 8
так как у нас теперь у нас i = 4 и при увеличений на 2. будет равен на 6 условий не сработает и выходить из цикла
в итоге получим 8