我正在編寫詢問用戶任何正整數的代碼。如果用戶輸入的不是正整數,則不能接受它,並且一次又一次地向用戶詢問正整數,直到用戶輸入正整數。其次,代碼要求用戶輸入一個介於0和1之間的浮點數,然後檢查用戶輸入的內容是否是0到1之間的浮點數。如果它不在0和1之間,它必須再次詢問並再次詢問直到用戶輸入要求的內容。然後將其舍入到最接近的2位小數位。爲什麼Python代碼生成ValueError?
這裏是我的代碼:
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')拋出ValueError,所以再次提示。據我瞭解,這是預期的行爲。 –