python - 在重置变量时循环主函数
问题描述
刚开始在我的计算基础课上学习 Python。我们必须建立一个程序,为数学创建练习集。用户输入两个数字,一个运算符,然后是一个解,程序会告诉他们它们是否正确/不正确。在那之后,程序应该循环回来,以便用户可以继续练习。该程序应该循环总共 5 个练习集。我有循环,但是当它执行时,它会重复用户最初输入的输入而不是重置,因此用户不能再进行任何输入。我错过了什么?
我尝试了一段时间 True: 在我的全局变量上循环,但这只会导致主函数在没有完成程序的情况下循环。作业非常清楚地表明需要使用 while 循环,因为我的教授提供了一些帮助我们的提示。
num1 = int(input("Enter First Input: "))
num2 = int(input("Enter Second Input: "))
op = str(input("Enter Operator: "))
UserSolution = int(input("Enter Solution: "))
res1 = num1+num2
res2 = num1-num2
res3 = num1*num2
res4 = num1/num2
timesCorrect = 0
timesIncorrect = 0
def main ():
counter = 0
while counter < 4:
print(num1)
print(num2)
print(op)
print(UserSolution)
counter = counter + 1
该函数确实像我想要的那样循环,但它并没有像我想要的那样重置变量。
解决方案
您需要将输入语句移动到循环内,例如:
timesCorrect = 0
timesIncorrect = 0
def main ():
counter = 0
while counter < 4:
num1 = int(input("Enter First Input: "))
num2 = int(input("Enter Second Input: "))
op = str(input("Enter Operator: "))
UserSolution = int(input("Enter Solution: "))
res1 = num1 + num2
res2 = num1 - num2
res3 = num1 * num2
res4 = num1 / num2
print(num1)
print(num2)
print(op)
print(UserSolution)
counter = counter + 1
此外,如果您希望它循环五次,则需要将计数器比较更改为< 5
, 或<= 4
, 而不是< 4
.
推荐阅读
- typescript - 使用 `function f();` 语法进行记忆
- python-3.x - Python - 尝试使用 Selenium 登录网站时出现 urllib3 MaxRetryError
- ruby-on-rails - 阻止 f.range_field 提交数据,除非与
- python - 检查矩阵是否可以用 Jacobi 方法解决的代码不起作用
- javascript - 如何从 mySQL 中获取数据并在 Modal 中查看
- java - 多次将图像共享到应用程序后出现内存不足异常
- angular-material-6 - Angular 6的基本添加角度/材料失败
- javascript - 如何使用 jest 测试 Promise 链?
- mysql - MySQL INFILE 整数值不正确
- sql - Azure 数据工厂 V2:如何将文件名传递给存储过程变量