我如何改变我的代码以打印出他们得到的答案是对还是错?

时间:2013-06-12 16:54:13

标签: python dictionary

我需要这个程序打印出你的对错猜测次数。我有一个城市和国家的字典(称为ccdict),例如“英国”:“伦敦”。这是代码:

def choices (Correct):
    list=[Correct]
    f=0
    cities=ccdict.values()
    while f + 1<5:
        f=f+1
        list.append(cities[random.randint(0, len(cities))])
    list.sort()
    return list


countries = ccdict.keys()
randcountry = countries[random.randint(0, len(countries))]
print "What is the capital of " + randcountry + "?"
print "If you want to stop this game, type 'exit'"
randlist = choices(ccdict[randcountry])

for i in range(0,5):
        print str(i+1) + " - " + randlist[i]

input=raw_input("Give me the number of the city that you think is the capital of " + randcountry + " ")

if input == "exit":                               
    print "Now exiting game!" + sys.exit()       

elif  randlist[int(input)-1] == ccdict[randcountry]:
    print "Correct"

else:
    print "WRONG! The capital of " + randcountry + " is " + ccdict[randcountry]

1 个答案:

答案 0 :(得分:5)

int()测试之后将if移至

input = raw_input("Give me the number of the city that you think is the capital of " + randcountry + " ")

if input == "exit":
    print "Now exiting game!"
    sys.exit()

elif  randlist[int(input) - 1] == ccdict[randcountry]:
    print "Correct"

请注意上述版本仅在最后一刻将input转换为整数。