2017-09-05 35 views
0

我想提出一個基本的井字遊戲Tkinter的,在Python 3.5.3,但我遇到了一個錯誤,說.pack()Tkinter的按鈕組件是一個無效的語法。代碼:與.pack()是無效的語法

from tkinter import * 
root = Tk() 
turn = X 
1 = Button(root, command=Pressed) 
1.pack() 
def Pressed(): 
    pass 
root.geometry('900x900') 
root.mainloop() 

請有人可以給我一個答案。

+1

下面是有效標識符的語法:https://stackoverflow.com/a/10120327/7051394 –

+0

爲什麼變量名稱不能以數字開頭? https://stackoverflow.com/questions/342152/why-cant-variable-names-start-with-numbers – Zety

回答

0

您指定爲您的按鈕無效的變量名。 嘗試改寫

1 = Button(root, command=Pressed) 
1.pack() 

喜歡的東西:在變量名

button_1 = Button(root, command=Pressed) 
button_1.pack() 

注:

  • 必須以字母開頭(A - Z,A - B)或下劃線( _)

  • 其它字符可以是字母,數字或_

  • 區分大小寫

  • 可以是任何(合理的)長度

  • 有一些這是因爲Python使用它們用於其他的東西,你不能爲一個變量名 使用保留字。

+0

它解決了包的問題,​​但現在它說我沒有定義壓制() – Guydangerous99

+0

是的,因爲你分配'按下'之前它宣佈,所以你應該把'def Pressed()'塊前'button_1 =按鈕(...'然後它應該工作 – Szabolcs

+0

這對我有效。 – Guydangerous99

0

在Python中,您不能用一個數字命名變量,Python不會將其識別爲變量。

所以你的情況,你可以用任何東西,如buttonOne重命名1

有關如何命名變量的更多信息,你可以在這裏閱讀官方PEP8準則:PEP8 Style Guide for Python