2017-01-31 10 views
0

pythonでは、tkinterを使用して、pythonで計算機を作成していますが、入力としてtkinterを使用しています。ここで私はこれまでやっていることです:フォーマットされた2つの文字列を一緒に追加しますか? 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() 

私は2つの番号(第1、第2)は、例えば一緒に追加しようとしています first = 3second = 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

関連する問題