带参数的函数
Functions with arguments
我正在学习这个编程 class,我们的作业之一是做一个测验和 return 正确和错误的答案。所以我已经对所有代码进行了编码,唯一似乎错误的是我传递的参数。我的结果始终为零。如有任何帮助,我将不胜感激。
这是我的代码:
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
您可能也想 print(right - wrong)
?
除了强制转换,您还可以与字符串进行比较: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
我正在学习这个编程 class,我们的作业之一是做一个测验和 return 正确和错误的答案。所以我已经对所有代码进行了编码,唯一似乎错误的是我传递的参数。我的结果始终为零。如有任何帮助,我将不胜感激。
这是我的代码:
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
您可能也想 print(right - wrong)
?
除了强制转换,您还可以与字符串进行比较: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