我尝试在每次运行函数时增加计数,似乎每次运行函数时都会重置计数。我认为if语句中的计数可能与作为条件传递的计数不同。谢谢
def check_solution(user_solution, solution, count):
if user_solution == solution:
count =+1
print(count)
return count
else:
print("Incorrect")
这是我用来调用函数的代码
if index == 1:
solution = num_1 + num_2
num_1 = str(num_1)
num_2 = str(num_2)
problem = (num_1 + "+" + num_2)
user_solution = get_user_solution(problem)
check_solution(user_solution, solution, count)
return count
语句应该是
count += 1
,而不是count =+1
check_solution
可能不应该是它自己的函数,但是让我们来解决以下问题:正如耶尼夫提到的:
count =+1
是count = +1
或count = 1
,这显然不是你的意图。check_solution
仅当答案正确时返回计数。您的else
还应该返回计数(可能是未修改的)。您不会对返回的计数执行任何操作:
check_solution(user_solution, solution, count)
应该是:
count = check_solution(user_solution, solution, count)
因此,要解决当前代码中的问题:
请注意,函数中的
count
变量和您称之为的count
变量是不同的。您可以更改函数中的名称并得到相同的结果:调用它时,必须告诉python将结果放在何处:
如果是我自己写的,我会完全放弃这个函数,使用一个合适的字符串格式化程序:
相关问题 更多 >
编程相关推荐