这是我的类所在的文件
#8/23/2020
#Class file
class Questions:
def __init__(self, prompt, answer):
self.prompt = prompt
self.answer = answer这是与属性错误一起运行的正文
#8/23/20
#Multiple Choice quiz
import random
from question_class import Questions
#These are my variables that I will use in the question_prompts array
number3 = random.randint(1,100)
number4 = random.randint(1,100)
number5 = random.randint(1,10)
number6 = random.randint(1,10)
number7 = random.randint(50,100)
number8 = random.randint(12,50)
answer3 = int(number3) + int(number4)
answer4 = int(number5) * int(number6)
answer5 = int(number7) - int(number8)
question_prompts = [ #This is my array for the question prompts
"Question 1:\nIn the directions NWSE what does E stand for?\n(a)Eagle\n(b)Eric\n(c)East\n(d)Enter\n",
"Question 2:\n(T/F) Tomatoes are fruits\n(T)\n(F)",
"Question 3:\nWhat is " + str(number3) + " + " + str(number4) + "?\n",
"Question 4:\nWhat is " + str(number5) + " x " + str(number6) + "?\n",
"Question 5:\nWhat is " + str(number7) + " - " + str(number8) + "?\n"
]
questions = [ #This is my array for my question class prompts and answers
Questions(question_prompts[0],"c"),
Questions(question_prompts[1],"f"),
Questions(question_prompts[2],str(answer3)),
Questions(question_prompts[3],str(answer4)),
Questions(question_prompts[4],str(answer5)),
]
def run_test(questions): #This is my function to run the quiz
score = 0
for question in questions:
answer = input(questions.answer)
if answer == questions.answer:
score += 1
print("You scored " + str(score) + "/" + len(questions.prompts))
run_test(questions)我是新手编码,这个项目是一个多项选择测验项目。我遵循了Mike Dane的教程,并试图使其动态化,但出现了错误。请使用初学者友好的语言
发布于 2020-08-24 09:30:34
首先,answer == questions.answer是错误的,因为questions (带有s)是一个问题列表,而不是一个问题。它应该是answer == question.answer (不带s)。
其次,当问题只是给出答案而不是真正问你问题时,我不确定这个测验会有多难:
answer = input(questions.answer)我认为您可能希望传入question.prompt :-)
发布于 2020-08-24 09:32:07
run_test中有一些问题。下面的代码应该可以修复它们:
def run_test(questions): #This is my function to run the quiz
score = 0
for question in questions:
answer = input(question.prompt)
if answer == question.answer:
score += 1
print("You scored " + str(score) + "/" + str(len(questions)))
run_test(questions)更改:
input(questions.answer) question.answerlen(questions.prompts) -> input(question.prompt)注意这里有2处更改-> -> str(len(questions))注意这里有2处更改https://stackoverflow.com/questions/63553570
复制相似问题