[英]Try statement - multiple conditions - Python 2
我對try語句以及多個條件沒有什么疑問。 當第二條件有錯誤時,它要求第一條件。 我要做的是重復相同的條件,而不是整個循環。 我希望你能理解我,因為我的英語不是很好,而且我還是Python的新手,所以我也不知道如何用母語描述它。
希望以下示例可以幫助您更好地理解我的想法。
while True:
try:
zacatek = float(raw_input("Zacatek: "))
konec = float(raw_input("Konec: "))
except Exception:
pass
else:
break
它執行以下操作:
Zacatek: 1
Konec: a
Zacatek:
但我希望它這樣做:
Zacatek: 1
Konec: a
Konec:
在此先感謝您的幫助。
編寫一個查詢單個float
的函數,然后調用兩次:
def input_float(msg):
while True:
try:
return float(raw_input(msg))
except ValueError:
pass
zacatek = input_float("Zacatek: ")
konec = input_float("Konec: ")
發生的情況是您的except子句在您對Konec的答復中捕獲了ValueError異常,並返回到循環的頂部。
您的float函數試圖將非數字響應“ a”轉換為float並拋出異常。
另外,您可以為每個輸入編寫一個不同的循環:
zacatek = None
while not zacatek:
try:
zacatek = float(raw_input("Zacatek: "))
except Exception:
continue
konec = None
while not konec:
try:
konec = float(raw_input("Konec: "))
except Exception:
continue
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.