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在我的答案底部添加了一个例子