簡體   English   中英

如何遍歷字典並檢查輸入的有效性?

[英]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關鍵字即可。 問題是您用盡了字典。

解:

  1. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM