【发布时间】:2020-06-23 16:28:22
【问题描述】:
这是我的代码:
cont = "Y"
greeting = print("Hi, welcome to the calculator. What is your calculation?: ")
num1 = float(input("What is the first number you would like to use? "))
op = input("Select operation: (+, -, /, *, **) ")
num2 = float(input("What is the second number you would like to use? "))
if op == '+':
x = num1 + num2
print (x)
elif op == '-':
x = num1 - num2
print(x)
elif op == '/':
x = num1 / num2
print(x)
elif op == '*':
x = num1 * num2
print(x)
elif op == '**':
x = num1 ** num2
print(x)
else:
print("error")
pass
cont = input("Would you like to use another term? (Y/N): ")
while cont == "Y":
op1 = input("Select operation: (+, -, /, *, **)")
num = float(input(("Input the next number: ")))
if op1 == '+':
y = x + num
print (y)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '-':
z = x - num
print(z)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '/':
div = x / num
print(div)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '*':
mult = x * num
print(mult)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '**':
car = (x ** num)
print(car)
cont = input("Would you like to continue? (Y/N): ")
else:
print("error")
pass
else:
print("Finished")
基本上,当添加 num1 和 num2 时,它会再次起作用,因为它使用 x 和新的数字(num)以及新的运算符。但是,继续 AGAIN 时会出现问题,因为程序使用 x 而不是新数字 (y/z/div/mult/car)。
对不起,如果这措辞不好(我是新人),但基本上我希望它在选择 continue 两次后使用新变量,但我不知道该怎么做。
【问题讨论】:
-
在循环外创建一个变量来跟踪最后的结果
-
您是否尝试将每个操作的结果保存回
x?像x = x * num这样的东西使用旧的x计算产品,然后将结果保存在x -
为什么不将新结果存回 X 中?为什么要将它存储到不同的变量名中以进行不同的操作?
-
您还应该考虑 DRY 原则。每当您看到自己一次又一次地编写相同的代码时,可能会有更好的方法来编写它。
-
@MirrorMaster 有任何答案回答了您的问题吗?
标签: python python-3.x variables input calculator