因此,我需要一個非常高效的代碼,它將接受用戶從0到1之間的任何數字,並不斷提示他們再次嘗試,直到他們的輸入符合此條件。 這是我到目前爲止有:只接受0和1之間的浮點數 - python
def user_input():
while True:
global initial_input
initial_input = input("Please enter a number between 1 and 0")
if initial_input.isnumeric() and (0 <= float(initial_input) <= 1):
initial_input = float(initial_input)
return(initial_input)
print("Please try again, it must be a number between 0 and 1")
user_input()
這工作,但只有在數量實際上是1或0。如果你輸入之間的小數這些(如0.6),它崩潰
*如果您在這些(例如0.6)之間輸入小數,它會崩潰* ....錯誤信息是什麼? –
除「未解析的屬性參考」爲「float」類的數字外,沒有錯誤消息。循環就像我輸入一個不在1和0之間的數字一樣運行(不斷請求我再試一次)@Xoce – mrzippy01
將輸入轉換爲浮點兩次,一次*在*之前*嘗試調用字符串方法在上面。直到你明白每個人在做什麼爲止,逐行看看你的代碼。 – jonrsharpe