2016-11-15 2 views
1

사용자 정의 이름/값 을 사용하여 변수를 생성 한 다음 사용자가 연산을 사용하여 계산하도록 할 수 있습니까?python 2 : 사용자 정의/명명 된 변수를 사용하여 계산

나는 사전을 사용하여 시도,하지만 사용자가 같은 단지 입력 뭔가를 할 수 있도록하려는 key1_name + key2_name 다음 예를 들어

그래서 선택한 작업의 출력을 반환 : 사용자가이 개 변수를 입력 했 그가 선택한 이름, 은 사용자가 이름을 사용하여 동작을 입력 할 수 있도록하고, 그 결과 I는 I 실시 예 1 + 2 + EFG의 사용자 입력을 허용하는 기능을 만드는 방법

numbers = {} 
numbers['1'] = 50 
numbers['2'] = 100 
numbers['efg'] = 200 

에게 반환 또는 2 * efg * 2 + 1을 입력 한 다음을 반환합니다.수술 결과?

나는 다음 예를 입력 EFG * 10 사용자와 함수가 10

내가 그래서이 작품 내 질문에 명확하게이 exmaple을 시도 숫자의 결과 [ 'EFG'] * 다시 표시 할 수 있습니다 name [ 'selectedname'] * 10을 연산으로 입력하고 올바른 결과를 반환하면 사용자가 키 이름 만 입력해야하는 selectedname * 10과 같은 입력을 사용하려면 어떻게해야합니까?

numbers = {} 
name = raw_input('name') 
value = input('value') 
numbers[name] = value 

operation = input('operation') 
print operation 

답변

1

당신은 regular expressions으로 numbers 사전을 사용하는 입력 변수를 변환 할 수 있습니다.

import re 
... 
operation = raw_input('operation') 
operation = re.sub(r'([a-zA-Z_0-9]+)', r'numbers["\1"]', operation) 
result = eval(operation) 
print result 
관련 문제