Python 带参数的函数

Python 带参数的函数,python,arguments,Python,Arguments,我正在上这门编程课,我们的一项作业是做一个小测验,并给出正确和错误的答案。所以我已经把它全部编码好了,唯一的错误似乎是我传递的论点。我的成绩总是零。我将感谢任何帮助 这是我的密码: correctAnswers = 0 wrongAnswers = 0 answer = input("Question 1: 5-3") if(answer == 2): correctAnswers + 1 else: wrongAnswers +1 grade(correctAnswers,

我正在上这门编程课,我们的一项作业是做一个小测验,并给出正确和错误的答案。所以我已经把它全部编码好了,唯一的错误似乎是我传递的论点。我的成绩总是零。我将感谢任何帮助

这是我的密码:

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")

这只是其中的一个片段,但却让人明白了这一点。

您正在将字符串与和int进行比较:

  int(input("Question 1: 5-3")) # cast to int
您还需要
+=
而不仅仅是
+
correctAnswers+=1

您可能还打算打印(对错)

除了强制转换,您还可以将其与字符串进行比较:
if answer==“2”

“foo”+“bar”
确实会创建一个新对象,但这是串联,但是当您想要增加一个变量时,您需要使用
+=
,这是
var=var+1
的缩写

最后,在将字符串转换为int时,为了确保用户使用while循环输入有效数据,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

此代码从不将值赋回
正确答案
错误答案
,也不会存储
正确-错误
计算结果的值。
正确-错误
应该做什么?你在做减法运算,但没有把结果保存在任何地方。在课堂上学习分配变量的那天,你好像睡着了。然后你需要提供一个完整的例子来重现你所面临的问题。一个简单的例子永远不会太长…谢谢你,我会试试的now@Christopherm你也用过
+=
吗?我现在就用。谢谢,成功了!你介意解释一下与+相比,它是如何工作的吗?@Christopher在我的答案底部添加了一个例子