我参加这个编程课程并且其中一项任务是进行测验并返回正确和错误的答案。所以我把它全部编码,唯一似乎错误的是我的论点。我的结果总是零我感激任何帮助。
这是我的代码:
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")
它只是它的一小部分,但是可以了解它。
答案 0 :(得分:2)
您正在将字符串与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 / except捕获错误输入会是一个好主意:
while True:
try:
answer = int(input("Question 1: 5-3"))
break
except ValueError:
print("Invalid input")
if answer == 2:
correctAnswers += 1
else:
wrongAnswers += 1