[英]How to iterate through a dictionary and check validity of inputs?
如何在字典中進行迭代並在迭代循環中檢查輸入值的有效性? 該問題在代碼中描述:
mydict ={'Kansas': 0, 'Dallas': 0, 'Alabama': 0}
for key, value in mydict.items():
inp = int(input('Your number for: ' + key))
if inp > 0:
value = inp
else:
print('enter again') #<---how can I jump back to the key
# for which the entry was false
# and ask again for the entry?
for key, value in mydict.items():
while True:
try:
inp = int(input('Your number for: ' + key))
except:
inp = 0
if inp > 0:
mydict[keu] = inp
break
print('enter again')
mydict ={'Kansas': 0, 'Dallas': 0, 'Alabama': 0}
for key, value in mydict.items():
inp = int(input('Your number for: ' + key))
while inp <= 0:
inp = int(input('Enter again for: ' + key))
value = inp
您可以僅在keys
進行交互,而不是items
。 嘗試以下代碼:
my_dict = {'Kansas': 0, 'Dallas': 0, 'Alabama': 0}
for key in my_dict.keys():
inp = int(input('Your number for: {} '.format(key)))
while inp <= 0:
inp = int(input('Your number for: {} '.format(key)))
my_dict[key] = inp
要做到這一點,只需使用continue關鍵字即可。 問題是您用盡了字典。
解:
mydict = {'堪薩斯州':0,'達拉斯':0,'阿拉巴馬州:0}
對於鍵,mydict.items()中的值:inp = -1 while(inp = int(input('您的數字:'+鍵))== 0){pass}
if inp > 0: value = inp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.