В функции process_numbers() есть несколько логических ошибок и условий, которые всегда будут истинными или ложными, что делает программу неработоспособной. Давайте рассмотрим, что здесь можно изменить.
Для условия
if 5 == 0:— это условие всегда будет ложным.- Необходимо заменить его на проверку, например, на выход из цикла при вводе определённого числа. Можно использовать, например, число 0:
if num == 0:
- Необходимо заменить его на проверку, например, на выход из цикла при вводе определённого числа. Можно использовать, например, число 0:
Условие
elif -3 < 0:также всегда будет истинным. Это условие не имеет смысла для продолжения цикла, так как оно никогда не остановит выполнение.- Его можно заменить на какую-то проверку, например, если число меньше нуля:
elif num < 0:
- Его можно заменить на какую-то проверку, например, если число меньше нуля:
Печать числа
0в качестве результата не информативна. Возможно, вы хотите распечатать само введённое число:print(num)
Вот исправленный вариант функции:
def process_numbers():
while True:
num = int(input("Введите число: "))
if num == 0:
break
elif num < 0:
continue
print(num)
Теперь программа будет запрашивать ввод чисел до тех пор, пока пользователь не введет 0, и будет игнорировать все отрицательные числа. Вводимые положительные числа будут выводиться на экран.
