【发布时间】:2020-03-28 11:22:44
【问题描述】:
我刚开始学习 python,这是我的问题,我对 python 很陌生 - 我有两个 python 文件都在同一个文件夹中..
1.问题.py
class Question:
def __init__(self, prompt, answer):
self.prompt = prompt
self.answer = answer
def chkQuestion(self):
if self.answer != "":
return True
2。 quiz.py
questions_prompts = [
"what color are apples? \n (a) red \n(b) green \n(c) orange",
"what color are bananas? \n (a) Teal \n(b) Magenta \n(c) Yellow",
"what color are strawberries? \n (a) yellow \n(b) red \n(c) blue"
]
questions = []
answers = "bcd"
for i in range(3):
pos = int(i)-1
print(i)
questions.append(Question(questions_prompts[pos], answers[pos]))
print(questions[0].prompt)
当我打印问题列表时 - 它会按预期显示添加到列表中的所有问题,但是当我尝试打印出第一个问题(问题 [0])的提示属性时,它会给出此错误
AttributeError: 'str' object has no attribute 'prompt'
请问我做错了什么,如何将对象推送到列表并按预期读取属性。本教程创建了新的问题对象并手动传递了值,但我很好奇如果我有 300 多个问题,我无法手动执行此操作,所以我创建了循环并且我被卡住了。
【问题讨论】:
-
answers[pos]是什么? -
1.为什么列表
questions没有初始化? 2. 为什么你用pos索引questions_prompts和answers,而不是i,它的值是0、1、2? 3.answers是什么? -
@maurice meyer,抱歉我刚刚调整了代码。
-
我建议在 Discord 服务器上向初学者提问。如果您以非专业人士的身份在这里提问,您将得到的只是刻薄的答案和反对票。我强烈建议去一个更友好的社区。我可以推荐 The Coding Den Discord 服务器,他们有所有语言的单独频道,而且比这里的人友好得多。
-
@Aci 非常感谢,我会听取您的建议,在做了多年的 php 之后尽我所能迁移到 python .. 但是 stackoverflow 不友好..
标签: python python-3.x list class object