gpt4 book ai didi

python - For循环枚举。 Python

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:45 25 4
gpt4 key购买 nike

现在我有一个 JSON,其中包含一个包含两个字典的列表。此代码允许用户通过索引号搜索列表,检索字典。目前,我得到两个打印结果,每个字典一个,例如,如果我输入索引号 1,我会得到:无索引号,然后打印出字典一。相反,我只想打印一个结果,要么是找到的字典,要么是 1 个错误。我不应该使用枚举吗?

这是我的 JSON(问题),其中包含 2 个字典的列表。

[{
"wrong3": "Nope, also wrong",
"question": "Example Question 1",
"wrong1": "Incorrect answer",
"wrong2": "Another wrong one",
"answer": "Correct answer"
}, {
"wrong3": "0",
"question": "How many good Matrix movies are there?",
"wrong1": "2",
"wrong2": "3",
"answer": "1"
}]

这是我的代码

f = open('question.txt', 'r')
questions = json.load(f)
f.close()


value = inputSomething('Enter Index number: ')



for index, question_dict in enumerate(questions):

if index == int(value):
print(index, ') ', question_dict['question'],
'\nCorrect:', question_dict['answer'],
'\nIncorrect:', question_dict['wrong1'],
'\nIncorrect:', question_dict['wrong2'],
'\nIncorrect:', question_dict['wrong3'])
break

if not index == int(value):
print('No index exists')

最佳答案

恕我直言,我认为您不需要使用enumerate。我个人认为您不应该循环遍历问题

为什么不这样做:

# assuming the user enters integers from 1 to N.
user_index = int(value) - 1
if -1 < user_index < len(questions):
# print the question
else:
print('No index exists')

当我们身处其中时,为什么不使用 with 关键字:

with open('question.txt', 'r') as f:
questions = json.load(f)

而不是执行关闭:

f = open('question.txt', 'r')
questions = json.load(f)
f.close()

关于python - For循环枚举。 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448863/

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