Tkinterでプログラマ電卓を作成しています。
ボタンを押したらビットを反転させる下記のプログラムですが、引数を追加するとコンパイルエラーとなります。
なぜエラーとなるのか教えていただけないでしょうか?
下記のコードの場合は問題なく動作しますが、
def buttonBit(self): val_edit3=eval(self.frame1.edit3.get())^(1<<0) #XORで反転
下記のコードの場合、「SyntaxError: unexpected EOF while parsing」となります。
def buttonBit(self,n:int): val_edit3=eval(self.frame1.edit3.get())^(1<<n) #XORでn番目のbitを反転
以下がエラーの全文になります。
Traceback (most recent call last):
File "c:/Users/xxxx/Desktop/pythonproject/Caluculator/Caluculator.py", line 267, in <module>
app = Caluculator(master=root)
File "c:/Users/xxxx/Desktop/pythonproject/Caluculator/Caluculator.py", line 13, in init
self.createWidgets()
File "c:/Users/xxxx/Desktop/pythonproject/Caluculator/Caluculator.py", line 44, in createWidgets
self.frame4.button16 = tkinter.Button(self.frame4,text="",command=self.buttonBit(0),font=self.font1)
File "c:/Users/xxxx/Desktop/pythonproject/Caluculator/Caluculator.py", line 146, in buttonBit
val_edit3=eval(self.frame1.edit3.get())^(1<<n) #XORで反転
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
回答1件
あなたの回答
tips
プレビュー