如何解决AttributeError: 'list' 对象在 Python 上没有属性 'question'
我遇到了下面的问题AttributeError,但是我检查了语法和缩进,没有发现错误。谁能帮我弄清楚出了什么问题?
class Question():
def __init__(self,question,answer):
self.question = question
self.answer = answer
question_prompts = [
"What color are apples?\n(a) Red/Green\n(b) Purple\n(c) Orange\n","What color are bananas?\n(a) teal\n(b) magenta\n(c) Yellow\n","What color are strawberries?\n(a) Yellow\n(b) Red\n(c) Blue\n",]
tasks = [
Question(question_prompts[0],"a"),Question(question_prompts[1],"c"),Question(question_prompts[2],"b"),]
def run_test(tasks):
score = 0
for items in tasks:
answer = input(tasks.question)
if answer == tasks.answer:
score += 1
print("You got " + str(score) + "/" + str(len(question_prompts)) + " correct")
run_test(tasks)
异常:
AttributeError: 'list' object has no attribute 'question'
解决方法
您正在查看问题的整个列表并尝试为 .question
属性建立索引,以便它查看列表容器而不是单个对象,这将通过以下方式解决:-
answer = input(items.question)
As items 是包含每次循环中的 Question 对象的变量。您也必须相应地更改答案检查
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。