我参加这个编程课,我们的任务之一是做一个小测验,并返回正确和错误的答案。所以我已经把它全部编码了,唯一似乎不对的就是我的论点传递。我的成绩总是为零,我希望能得到任何帮助。
这是我的代码:
correctAnswers = 0
wrongAnswers = 0
answer = input("Question 1: 5-3")
if(answer == 2):
correctAnswers + 1
else:
wrongAnswers +1
grade(correctAnswers, wrongAnswers)
grade(right, wrong):
right - wrong
print("You have a total of " + str(right) + " correct answers")
这只是其中的一个片段,但能让你明白这个想法。
发布于 2015-02-14 00:12:46
您正在将字符串与和int进行比较:
int(input("Question 1: 5-3")) # cast to int
你还需要+=
,而不仅仅是+
correctAnswers += 1
你可能也想要print(right - wrong)
您也可以将其与字符串:if answer == "2"
进行比较,而不是强制转换
"foo"+ "bar"
确实会创建一个新的对象,但这是连接,但是当您想要增加一个变量时,您需要使用+=
,这是var = var + 1
的缩写。
最后,当将字符串转换为int时,确保用户使用while循环输入有效数据,直到用户输入可以转换为int的数据并使用try/除了捕获错误的输入,这是一个好主意:
while True:
try:
answer = int(input("Question 1: 5-3"))
break
except ValueError:
print("Invalid input")
if answer == 2:
correctAnswers += 1
else:
wrongAnswers += 1
https://stackoverflow.com/questions/28510872
复制相似问题