Я пишу код, который запрашивает у пользователя любое положительное целое число. Если то, что вводит пользователь, не является положительным целым числом, оно не должно принимать его и снова и снова запрашивать у пользователя положительное целое число, пока пользователь не введет положительное целое число.Почему код Python генерирует ValueError?
Во-вторых, код запрашивает у пользователя поплавок между 0 и 1, а затем проверяет, является ли введенное пользователем поплавок между 0 и 1. Если он не находится между 0 и 1, он должен снова запросить и снова пока пользователь не выполнит запрос. Затем округлите его до ближайшего 2 десятичного знака.
Вот мой код:
num1 = int(input("Enter a positive integer: "))
while num1 < 0 or not isinstance(num1 , int):
print("Invalid!")
num1 = int(input("Enter a positive integer: "))
num2 = float(input("Enter a decimal between 0 and 1: "))
while num2 < 0 or num2 > 1 or not isinstance(num2 , float):
print("Invalid!")
num2 = float(input("Enter a decimal between 0 and 1: "))
Когда я запускаю его, и введите строку, он сказал ValueError.
Должен ли я использовать обработку ошибок?
= [] = Спасибо большое !!! –
Я думаю, есть проблема, что если пользователь вводит float в 'num1', он должен снова вводиться повторно. – Hooting
@Hooting 'int ('1.1')' throws ValueError, поэтому запрашивается еще раз. Это ожидаемое поведение, как я понял. –