Дайте ответ и объясните решение(python): for i in range(10): if not i % 2 == 0 print(i+1)

NoName69vv NoName69vv    1   22.09.2019 12:40    2

Ответы
gilkatay1 gilkatay1  08.10.2020 09:34
Честно говоря, какой-то странный код.
Во-первых, после 0 (во второй строке) должно стоять двоеточие и, во-вторых, лично у меня функции записаные с большой буквы, не работают.
Как я понимаю, эта программа должна искать чётные числа от 0 до 10 (мне выдаёт 2,4,6,8,10).
Она работает так:
благодаря цыклу for переменной i надаётся значение от 0 до 9 (функцией range(10)). Дальше проверяется есть ли число i чётным (i%2==0). Функция not по сути делает противоположное: проверяет есть ли это число нечётным. Тогда если оно нечётнон, выводится на екран число на один больше него (т.е. чётное).

Я бы написал эту программу так:

for i in range(1, 11):
if i % 2 == 0:
print(i)

По сути она выводит то же самое, но код немного менше и понятней.

P.S. Эти программы не выдают в ответе 0, хотя 0 - тоже парное число.
Чтобы она выдавала еще и 0, просто надо убрать первый аргумент функции range():

for i in range(11):
if i % 2 == 0:
print(i)
Тогда она выведет 0,2,4,6,8,10.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика