是否可以使用用户定义的名称/值创建变量 然后让用户使用操作来计算它们?
我尝试使用字典,但我希望用户能够输入 类似于key1_name + key2_name,然后返回所选操作的输出
所以例如: 让用户输入2个变量,并使用他选择的名称, 然后让用户使用名称输入操作并返回结果
numbers = {}
numbers['1'] = 50
numbers['2'] = 100
numbers['efg'] = 200
如何创建一个函数,我让用户输入例如1 + 2 + efg或2 * efg * 2 + 1然后将其返回 操作的结果?
我可以让用户输入efg * 10然后让函数返回数字的结果[' efg'] * 10
我尝试这个例子让我的问题更加清晰 这样,如果我输入名称[' chosenname'] * 10作为操作,它会返回正确的结果 如何使用输入来使其工作,例如selectedname * 10,用户必须只输入密钥名称?
numbers = {}
name = raw_input('name')
value = input('value')
numbers[name] = value
operation = input('operation')
print operation
答案 0 :(得分:1)
您可以转换输入的变量,将numbers
字典与regular expressions一起使用。
import re
...
operation = raw_input('operation')
operation = re.sub(r'([a-zA-Z_0-9]+)', r'numbers["\1"]', operation)
result = eval(operation)
print result