当作为输入输入时,字典中的随机键不识别它的值

时间:2017-08-26 04:02:13

标签: python dictionary random

尝试通过字典执行此操作,但它无法正常工作。这个问题有方法解决吗? 用户要求该分配从字典中猜测随机选择的国家的资本。当用户写下答案时,它将变为值并检查是否与国家/地区密钥匹配。

import random
capitals = {'England': 'London', 'Spain': 'Madrid', 'France': 'Paris'}
rand= (random.choice (list(capitals)))
for i in capitals:
        inp= input("what's is the capital of "+rand+ ":   ")
        if inp.upper()==capitals[i].upper():
            print ("correct")
            break
        else:
            print ("think again")

2 个答案:

答案 0 :(得分:1)

在第一次迭代中, .video-container { position: absolute; top: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; } .video-container video { min-width: 100%; min-height: 100%; width: auto; height: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); } 的值为inp.upper()PARIS的值为capitals[i].upper()

您需要做的是,而不是比较LONDON 你应该做以下

inp.upper() == capitals[i].upper()

答案 1 :(得分:0)

我认为不需要循环。您应该从资本列表的大小中断开重试次数。

您可以使用while循环:

import random
capitals = {'England': 'London', 'Spain': 'Madrid', 'France': 'Paris'}
rand= (random.choice (list(capitals)))

while True:
    inp= input("what's is the capital of "+rand+ ":   ")

    if inp.upper()==capitals[rand].upper():
        print ("correct")
        break
    else:
        print ("think again")