我制作了这个简单的python计算器,但是有一个奇怪的bug
你输入的第一个等式没有任何变化。 第二次尝试时,它会起作用。 下次你尝试时,什么都没有发生。 如果你在那之后再试一次,它就会起作用。 发射型计算机断层扫描仪。发射型计算机断层扫描仪。ect
下面是一个例子(如果让人困惑,请原谅):
(程序)输入您的方程式:
(me)1-1
什么也没发生
(程序)(提示您再次输入)
(me)1-1
(程序)0
(程序)输入您的方程式:
(me)1-1
什么也没发生
(程序)(提示您再次输入)
(me)1-1
(程序)0
(程序)输入您的方程式:
(me)1-1
什么也没发生
下面是这张照片的样子: calc.py photo 无论使用什么数字或运算符,都会发生这种情况
这是我的全部代码:
while True:
print('Enter an equation:')
input('')
while True:
x, op, y = input().split()
x = int(x)
y = int(y)
if op == '+':
print(x + y)
break
elif op == '-':
print(x - y)
break
elif op == '*':
print(x * y)
break
elif op == '/':
print(x / y)
break
else:
print('Invalid equation!')
break
您有两个
input()
调用,这就是问题所在,使用一个并将其结果存储在一个变量中,然后使用它来代替第二个调用(还有,为什么有两个while True
循环,如果您希望程序继续读取方程,只需使用一个循环并从中删除break
):您有一个
input()
调用,它什么也不做,每次都会换行:) 此外,您根本不需要内部循环相关问题 更多 >
编程相关推荐