我正在做某個在線課程,並已完成使用此代碼的任務,但仍然可以通過某些輸入引發錯誤,但我不明白爲什麼。我問過課程導師(使用僞代碼),他們說我的try/except語句存在問題。嘗試除錯誤檢查
程序應該一次又一次地提示用戶輸入一個數字,如果輸入了非數字字符,則返回一個錯誤,字符串'done'除外,在這種情況下,它將返回最大值和最小值所有輸入的數字。
這裏的程序:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == 'done': break
try:
float(num)
except:
print("Invalid input")
continue
if largest is None:
largest = num
elif largest < num:
largest = num
if smallest is None:
smallest = num
elif smallest > num:
smallest = num
print("Maximum is", largest)
print("Minimum is", smallest)
如果您輸入以下值作爲輸入1 2 3 pk 27 -37 done
,輸出爲Max: 3, Min -37.
它的駕駛我瘋了。我知道爲什麼會發生這種情況。
有一個很難複製這一點,你是如何在非數值輸入? – Stedy
條目變爲1,2,3,pk,27,-37。 任何字符串都可以放在'pk'的地方 – GotYaNumba
忘了在輸入 – GotYaNumba