2016-02-29 1 views
1

Я застрял на том, как сделать расчет в переменной. В настоящее время мой код будет печатать (например): (1, '+', 2). Но мне нужен фактическая сумма ответа .. Мой код:Сумма вычисления в переменной

def calc(num1,op,num2): 
    sum = num1,op,num2 
    print(sum) 

num1 = int(input("First number:")) 
op = input("Operator:") 
num2 = int(input("Second number:")) 

calc(num1,op,num2) 
+0

Я думаю, что это не доказательства для OP, что это дубликат. ключ состоит в том, что '+' (символ) и 'add' (функция) являются разными. –

ответ

4

Это может помочь вам .....

def calc(x=0, y=0, z=0): 
    expression = raw_input('Enter an expression: ') 

    return eval(expression, None, locals()) 

Пример:

>>> calc() 
Enter an expression: 8 + 5 - 7 
6 
+0

'eval' на самом деле не очень хороший выбор. Это хорошее объяснение, которое может вас заинтересовать: http://stackoverflow.com/a/1832957/1832539 – idjaw