2

Pythonで大砲を発射するシミュレーションを書いていると、エラーが発生します:

Traceback (most recent call last):
  File "C:\Users\Casper\Desktop\Skole\Dropbox\Skråkast\det_skraa_kast.py", line 47, in <module>
    float(speed)
AttributeError: Entry instance has no attribute '__float__'

私のコード(デンマークのcallnamesで申し訳ありません:-):

#==LabelFrame==#

labelframe = LabelFrame(master, text="Parametre for affyring", bd = 3, font=("Aeria", "8", "bold"))
labelframe.pack(side = BOTTOM, expand="yes", fill="both")




#--Indtastning af fart--#

speedlabel = Label(labelframe, text="Indtast farten af kuglen", font=("Aeria", "8", "bold"))
speedlabel.pack(side = TOP)
speed = Entry(labelframe, bd = 3)
speed.pack(side = TOP)
float(speed)




#--Indtasning af vinkel--#

anglelabel = Label(labelframe, text="Indtast vinklen af kanonen", font=("Aeria", "8", "bold"))
anglelabel.pack(side = TOP)
angle = Entry(labelframe, bd = 3)
angle.pack()
float(angle)


... code creating a coordinate system ...




#==Update knap==#

def update(event=None):

        speedentry = speed.get()
        angleentry = angle.get()

あなたが私を助けてくれることを本当に願っています:-)

よろしく、キャスパー

ps私は2.7.3を実行していると言うのは注目に値するかもしれません(私の先生から要求されました)

4

1 に答える 1

1

Entryオブジェクトは に変換可能ではありませんがfloat、その値はおそらく変換可能です。(Tkinterを使用していると思います。)これを試してください:

float(speed.get())

#...

float(angle.get())
于 2012-12-07T15:33:59.073 に答える