如何存储变量并随后在计算器中使用它?
How to store a variable and use it afterwards in a calculator?
这是我的代码:
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).
抱歉,如果这个措辞不好(我是新手),但基本上我希望它在选择继续两次后使用新变量,但我不知道该怎么做。
您可以重复使用同一个变量。不用写 y/z/div/mult/car = ...,您可以将所有的替换为 x = ....
您可以使用列表来存储数据
some_data = 5
some string = "hello"
my_list = [] # create empty list that can store any data type (int, str, float...)
my_list.append(some_data) # my_list = [5]
my_list.append(some_string) # my list = [5, "hello"]
# to access the element within the list you can use the subscript operator '[]'
# for example my_list[0] returns 5, my list[1] returns "hello"
# my_list[:] returns the entire list
您应该始终将最后一个答案指定为 x,这样每次重复它时它都可以工作。例如:
while cont == "Y":
op1 = input("Select operation: (+, -, /, *, **)")
num = float(input(("Input the next number: ")))
if op1 == '+':
x += num # Re-assign to x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '-':
x -= num # re-assign to x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '/':
x /= num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '*':
x += num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '**':
x **= num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
else:
print("error")
pass
else:
print("Finished")
现在这个程序可以永远工作,因为最后的答案总是重新分配给 x。
如果您不确定我用来执行操作的代码行,例如:
x += num # Same as x = x + num
x **= num # Same as x = x**num
它只会让您的代码更简洁。
结论:通过让变量 'x' 始终被分配给先前计算的答案,我们可以无限地重复对它的操作,因为它总是被存储,然后重新分配以适应下一次迭代程序。
这是我的代码:
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).
抱歉,如果这个措辞不好(我是新手),但基本上我希望它在选择继续两次后使用新变量,但我不知道该怎么做。
您可以重复使用同一个变量。不用写 y/z/div/mult/car = ...,您可以将所有的替换为 x = ....
您可以使用列表来存储数据
some_data = 5
some string = "hello"
my_list = [] # create empty list that can store any data type (int, str, float...)
my_list.append(some_data) # my_list = [5]
my_list.append(some_string) # my list = [5, "hello"]
# to access the element within the list you can use the subscript operator '[]'
# for example my_list[0] returns 5, my list[1] returns "hello"
# my_list[:] returns the entire list
您应该始终将最后一个答案指定为 x,这样每次重复它时它都可以工作。例如:
while cont == "Y":
op1 = input("Select operation: (+, -, /, *, **)")
num = float(input(("Input the next number: ")))
if op1 == '+':
x += num # Re-assign to x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '-':
x -= num # re-assign to x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '/':
x /= num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '*':
x += num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
elif op1 == '**':
x **= num # Re-assign x
print (x)
cont = input("Would you like to continue? (Y/N): ")
else:
print("error")
pass
else:
print("Finished")
现在这个程序可以永远工作,因为最后的答案总是重新分配给 x。
如果您不确定我用来执行操作的代码行,例如:
x += num # Same as x = x + num
x **= num # Same as x = x**num
它只会让您的代码更简洁。
结论:通过让变量 'x' 始终被分配给先前计算的答案,我们可以无限地重复对它的操作,因为它总是被存储,然后重新分配以适应下一次迭代程序。