Как можно изменить «защиту от дурака», чтобы она срабатывала, когда пользователь вводит отрицательное число?

  • 7 сентября 2023 г. 16:46
Ответы на вопрос 2
Чтобы "защита от дурака" срабатывала при вводе отрицательного числа, необходимо добавить проверку на отрицательность в коде программы. Мы можем использовать условный оператор if для этого. Вот как это можно сделать:

```python
number = float(input("Введите число: "))
if number < 0:
    print("Ошибка! Введите положительное число.")
else:
    # продолжаем выполнение программы
    print("Вы ввели:", number)
```

Этот код проверяет, является ли введенное число отрицательным. Если да, выводится сообщение об ошибке. В противном случае программа продолжает своё выполнение.

Чтобы программа принимала только действительные числа в качестве входных данных, мы можем использовать блок try-except для обработки исключений при попытке преобразования введенного значения в число типа float. Вот как это можно сделать:

```python
while True:
    try:
        number = float(input("Введите число: "))
        break  # если введено действительное число, выходим из цикла
    except ValueError:
        print("Ошибка! Введите действительное число.")

# продолжаем выполнение программы
print("Вы ввели:", number)
```

В этом коде мы используем цикл while True для того, чтобы пользователь мог вводить значения до тех пор, пока не будет введено действительное число. Код в блоке try пытается преобразовать введенное значение в число типа float. Если это не удалось из-за ошибки ValueError, выводится сообщение об ошибке, и цикл продолжается. Если преобразование было успешным, мы выходим из цикла и продолжаем выполнение программы.
Чтобы правильно ввести значение, убедитесь, что оно больше нуля. 
Похожие вопросы