problem ze zmienną

0

Witam, mam problem z zmienną "pkt", i wyskakuje błąd. Proszę o pomoc

https://code.skript.pl/JUYKqV8u

2

pkt + 1 = pkt => pkt = pkt + 1

3

Poczytaj o zasięgu zmiennych.

W funkcjach zmienna 'pkt' to zmienna lokalna, co znaczy że z 'pkt' zadeklarowanym przed nimi nie ma nic wspólnego.

0

gotowy kod: https://code.skript.pl/DdX6zcCl

import tkinter
import random

root = tkinter.Tk()
root.geometry("500x500")
root.title("AimTraining by PawełeK.")
root.configure(bg='orange')
pkt = 0

def xd():
    b.place(x=random.randint(0, 450),y=random.randint(0, 450))
    global pkt
    pkt = pkt + 1
    print(pkt)

def xd2():
    b2.place(x=random.randint(0, 450), y=random.randint(0, 450))
    global pkt
    pkt = pkt + 1
    print(pkt)

def xd3():
    global pkt
    pkt = pkt + 1
    print(pkt)

def xd4():
    b4.place(x=random.randint(0, 450), y=random.randint(0, 450))
    global pkt
    pkt = pkt + 1
    print(pkt)

b = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd)
b.pack()
b.place(x=random.randint(0, 450),y=random.randint(0, 450))

b2 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd2)
b2.pack()
b2.place(x=random.randint(0, 450),y=random.randint(0, 450))

b3 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd3)
b3.pack()
b3.place(x=random.randint(0, 450),y=random.randint(0, 450))

b4 = tkinter.Button(root, bg='#69e5ae', height=4,width=8, command=xd4)
b4.pack()
b4.place(x=random.randint(0, 450),y=random.randint(0, 450))

root.mainloop()
0

Trochę przydługawy ten krótki kod ;) Przestań używać ctrl+c ctrl+v :)
xd3 u Ciebie nie zmienia pozycji, ale zakładam, że to przypadkowo.

import tkinter
import random

root = tkinter.Tk()
root.geometry("500x500")
root.title("AimTraining by PawełeK.")
root.configure(bg='orange')
pkt = 0

def xd(event):
    event.widget.place(x=random.randint(0, 450),y=random.randint(0, 450))
    global pkt
    pkt = pkt + 1
    print(pkt)

for i in range(4):
    btn = tkinter.Button(root, bg='#69e5ae', height=4, width=8)
    btn.pack()
    btn.bind('<Button-1>', xd)
    btn.place(x=random.randint(0, 450),y=random.randint(0, 450))

root.mainloop()

1 użytkowników online, w tym zalogowanych: 0, gości: 1