我目前正在做一个猜谜游戏任务。作业使用字典存储课程名称(关键)和课程编号(值)。用户猜测给定课程名称的课程编号。如果值与键匹配,则应打印“correct!”,反之亦然
我让程序一次显示一个键,并用输入语句将它们分开。我已使正确/不正确的计数器工作。我无法得到一个if语句,它应该检查值是否与键匹配。无论答案是否正确,每次打印都不正确。我意识到if语句的条件可能有问题,因为我不确定如何一次提取一个值
以下是我目前掌握的情况:
# Mainline
def main():
programming_courses={"Computer Concepts":"IT 1025",\
"Programming Logic":"IT 1050",\
"Java Programming":"IT 2670",\
"C++ Programming":"IT 2650",\
"Python Programming":"IT 2800"}
print ("Learn your programming courses!\n")
correct=0
incorrect=0
v=0
# Game Loop
for key in programming_courses.keys():
print(key)
answer = input("Enter the Course Number: ")
if answer != programming_courses.values():
print("Incorrect")
incorrect += 1
else:
print("Correct!")
correct += 1
# Display correct and incorrect answers
print ("You missed ",incorrect," courses.")
print ("You got ",correct," courses.\n")
# Entry Point
response=""
while (response!="n"):
main()
response=input("\n\nPlay again?(y/n)\n# ")
你可以试试这个
你的问题是:
programming_courses.values()
是字典中所有值的列表。如果你不明白你的程序中发生了什么,那么把东西打印出来,看看它是否像你期望的那样,真的很有帮助您需要的是当前所使用的
key
的特定值,您需要从字典中查找该值,如下所示:此外,在默认情况下,迭代dict会为您提供密钥,因此您可以说:
您不需要在那里使用
.keys()
您的问题是在检查dict时。当前,您的代码正在将答案与dict中所有值的列表进行比较:
如果更改为以下选项,则可以使用给定的键从dict中获取特定值:
相关问题 更多 >
编程相关推荐