这个项目很简单。它要求用户输入一些数字,对它们进行一些数学运算,然后将其吐出。但是,我希望用户可以选择保存其结果值,将其命名,然后将该变量用作数字值。
例如:
如果用户放入1 2 3
并决定将其相加,他们将得到6
。然后,用户决定将其总和称为var
。我希望用户输入var 7 8
等于6 7 8
,因为var = 6
是可能的。
另外,这是我的第一个Python项目,因此,如果这个问题看起来不寻常,我深表歉意。
我弄清楚了如何将用户输入的结果记录为变量。它显示在#Save
部分下面。 numbers
接受浮点数或整数,因此无法通过字符串(如果我错了,请纠正我。)问题之一是我不知道如何使Python“记住”用户变量的值在两个周期之间。我也不知道如何让numbers
接受所说的用户变量作为数字。
#Loop
repeat = True
while repeat:
#Input
directions = print("Type in some numbers. Use spaces to indicate multiple numbers. Integers, decimals, and negatives are accepted.")
numbers = [float(x) or int(x) for x in input().split()]
print(numbers)
choice = input("Do you wanna choose between '+', '*', '-', or '/' ? Note that values will be subtracted or divided in order that they appear in the list")
#Math
#Addition
if choice == '+':
_sum = sum(numbers)
print(_sum)
#Multiplication
elif choice == '*':
one = 1
for x in numbers:
one *= x
print(one)
#Subtraction
elif choice == '-':
if len(numbers) > 0:
diff = numbers[0] - sum(numbers[1:])
print(diff)
#Division
elif choice == '/':
self = numbers[0]
for x in numbers[1:]:
self /= x
print(self)
#Saves
save = input("Do you wanna save the value of the result you just got? Type in 'yes' or 'no'")
if save == 'yes':
result = input("Is your result a sum, product, difference or a quotient? Use '+', '*', '-', or '/' to answer")
if result == '+':
rename = input("Give your result a name:")
user_sum = globals()[rename] = _sum
elif result == '*':
rename = input("Give your result a name:")
user_pro = globals()[rename] = one
elif result == '-':
rename = input("Give your result a name:")
user_dif = globals()[rename] = diff
elif result == '/':
rename = input("Give your result a name:")
user_quo = globals()[rename] = self
#Kill
kill = input("To kill this program type in 'kill' To continue just press enter")
if kill == 'kill':
repeat = False
答案 0 :(得分:0)
您可以使用字典来存储变量名称和值。字典将键映射到值,因此它应该完全按照您的要求工作。
要声明字典:variables = {}
。
要在字典中设置键/值:variables[var_name] = var_value
。
要检查字典是否包含键:var_name in variables
。
要从字典中的键获取值:variables[var_name]
(如果没有键var_name
,则引发KeyError)或variables.get(var_name)
(如果没有键,则返回None:var_name
) )。
您可以在https://www.w3schools.com/python/python_dictionaries.asp
中了解有关Python字典的更多信息