2017-01-31 3 views
0

В python, используя tkinter, я медленно создаю калькулятор в python, но используя tkinter в качестве входа. Вот то, что я сделал до сих пор:Добавление двух форматированных строк вместе? Python 3.5.2 tkinter

from tkinter import * 

first = "" 
second = "" 
c = Tk() 
c.title("Calculator") 
c.geometry("500x500") 
c.configure(bg='orange') 
a = Label(c, text="Enter First Number", font="-weight bold", bg='orange') 
a.pack() 
first = Entry(c) 
first.pack() 
b = Label(c, text="Enter Second Number", font="-weight bold",bg='orange') 
b.pack() 
second = Entry(c) 
second.pack() 

def add(): 
    first.get() 
    second.get() 
    print('{} + {} = '.format(first.get(), second.get())) 
    print(first.get() + second.get()) 

def bp(): 
    add() 

confirm1 = Button(c, text="Add Together", font="-weight bold", bg='orange', command=bp) 
confirm1.pack() 

mainloop() 

Я пытаюсь сделать два номера (первый и второй) сложить вместе, например, Если first = 3 и second = 5 Я бы хотел их добавить, сделав вывод 3 + 5 = 8. Кажется, что + только добавляет числа рядом друг с другом, а не математически. Я попытался использовать + =, но я получил ошибку Syntax Error: invalid syntax. Я не уверен, что я могу сделать, и поэтому я здесь. Спасибо, что прочитали это, и я извиняюсь за свои плохие английские навыки. Спасибо :)

+0

Вам нужно будет преобразовать ваши строки в числовой тип. –

+0

как именно я могу преобразовать свои строки в числовой тип? – Jake

ответ

2

Оператор + переопределяется в строках, чтобы обеспечить конкатенацию аргументов левой стороны и аргумента правой стороны. Вы должны явно преобразовать оба аргумента в целые числа сначала, используя int().

>>> summation = int(first.get()) + int(second.get()) # first = 3, second = 5 
>>> print('{} + {} = {}'.format(first.get(), second.get(), summation)) 
3 + 5 = 8 
+0

Спасибо! Это решило мою проблему очень хорошо :) – Jake

Смежные вопросы