Есть ли в приведенном коде ошибка?
num = int(input("Введите число"))
flag = False
if num % 2:
print(f"Число нечётное")
flag = True
else:
print(f"число чётное")
name = int(input("Введите своё имя"))
if flag:
end_message = "чётное"
else:
end_message = "не чётное"
print(name,(f"ввёл", end_message))
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Да, в коде есть логическая ошибка - в первой части кода вы выставляете flag = True в случае не чётного числа, а во второй части при истинности флага if flag: печатаете, что число чётное.
И ещё одна ошибка - имя не нужно преобразовывать в целое число.
Ну и в целом код можно несколько сократить. Например (при условии, что вы обязательно хотите использовать переменную flag):
num = int(input("Введите число"))
flag = num % 2:
if flag:
end_message = "не чётное"
else:
end_message = "чётное"
print(f"Число {end_message}")
name = input("Введите своё имя")
print(f"{name} ввёл {end_message}")
Но так то можно и без флага и ещё короче:
num = int(input("Введите число"))
end_message = f"{['','не'][num % 2]} чётное"
print(f"Число {end_message}")
name = input("Введите своё имя")
print(f"{name} ввёл {end_message}")