gpt4 book ai didi

python - 遍历字典值?

转载 作者:IT老高 更新时间:2023-10-28 21:46:56 26 4
gpt4 key购买 nike

大家好,我正在尝试用 Python 编写一个充当问答游戏的程序。我在程序的开头制作了一个字典,其中包含用户将被询问的值。它的设置是这样的:

PIX0 = {"QVGA":"320x240", "VGA":"640x480", "SVGA":"800x600"}

所以我定义了一个函数,它使用 for 循环遍历字典键并要求用户输入,并将用户输入与键匹配的值进行比较。

for key in PIX0:
NUM = input("What is the Resolution of %s?" % key)
if NUM == PIX0[key]:
print ("Nice Job!")
count = count + 1
else:
print("I'm sorry but thats wrong. The correct answer was: %s." % PIX0[key] )

运行良好,输出如下所示:

What is the Resolution of Full HD? 1920x1080
Nice Job!
What is the Resolution of VGA? 640x480
Nice Job!

所以我想做的是有一个单独的功能,以另一种方式提出问题,为用户提供分辨率数字并让用户输入显示标准的名称。所以我想做一个 for 循环,但我真的不知道如何(或者你是否可以)迭代字典中的值并要求用户输入键。

我希望输出看起来像这样:

Which standard has a resolution of 1920x1080? Full HD
Nice Job!
What standard has a resolution of 640x480? VGA
Nice Job!

我尝试过使用 for value in PIX0.values() 并允许我遍历字典值,但我不知道如何使用它来“检查”用户根据字典键回答。如果有人可以提供帮助,将不胜感激。

编辑:抱歉,我使用的是 Python3。

最佳答案

取决于您的版本:

Python 2.x:

for key, val in PIX0.iteritems():
NUM = input("Which standard has a resolution of {!r}?".format(val))
if NUM == key:
print ("Nice Job!")
count = count + 1
else:
print("I'm sorry but thats wrong. The correct answer was: {!r}.".format(key))

Python 3.x:

for key, val in PIX0.items():
NUM = input("Which standard has a resolution of {!r}?".format(val))
if NUM == key:
print ("Nice Job!")
count = count + 1
else:
print("I'm sorry but thats wrong. The correct answer was: {!r}.".format(key))

您还应该养成使用 PEP 3101 中新的字符串格式化语法({} 而不是 % 运算符)的习惯:

https://www.python.org/dev/peps/pep-3101/

关于python - 遍历字典值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com