windows - hvordan man opdeler i en float i stedet for et helt tal (Python)

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har et tkinter-program, og det har 4 variable mærker. For at få et af mærkerne skal jeg dele en anden variabel med 100, men når jeg kører programmet er det lig med 0. Dette er koden: eggzps = chookz / 100, og her er hele koden:


import tkinter as tk
from PIL import Image, ImageTk

# --- functions ---

def moar\_eggz():
    global eggzps, chookz

    chookz += 1


def update\_labels():
    try:
        label1.config(text="Eggs: " + str(eggz))
        label2.config(text="Eggs Per Second: " + str(eggzps))
        label3.config(text="Egg Value: " + str(eggvalue))
        label4.config(text=" Chickens: " + str(chookz))
    except Exception as e: 
        print(e) # display exception to see problem

    # repeat it after 20ms 
    root.after(20, update\_labels)

def main\_loop():
    global eggz, eggzps
    eggzps = chookz / 100
    try:
        eggz += eggzps
    except Exception as e:
        print(e) # display exception to see problem

    # repeat it after 1000ms 
    root.after(1000, main\_loop)

# --- main ---

root = tk.Tk()
root.title("Chicken Clicker")

eggz = 0
eggvalue = 0.2
chookz = 0
eggzps = 0


printeggzps = 0

# empty labels - `update\_labels` will add text  
label4 = tk.Label(root)
label3 = tk.Label(root)
label2 = tk.Label(root)
label1 = tk.Label(root)
label4.pack()
label3.pack()
label2.pack()
label1.pack()

imagecnv = Image.open("img\1.png")
photo = ImageTk.PhotoImage(imagecnv)

openbutton = tk.Button(root, image=photo, width=500, height=500, command=moar\_eggz)
openbutton.pack()

# run it first time at once
main\_loop()
update\_labels()


root.mainloop()


Jeg har prøvet mange ting, de fleste af dem forårsager fejl, som jeg har haft at sende ind her, men når fejlen er løst, er problemet ikke løst. Jeg har tilbragt en hel dag med at forsøge at få dette til at fungere, så jeg har ty til bare at spørge.


Eventuelle forslag eller svar vil blive meget værdsat.


Tak på forhånd!

Bedste reference


int \ int -> int resultat


int \ float -> float resultat


brug 100.0 i stedet for kun 100


eggzps = chookz / 100.0