Python Global Ve Local

while Durum:
            global TAG_KORDİNAT_Y,TAG_KORDİNAT_X,Pozisyon_Y,Pozisyon_X
            a = ser.readline()

            try:
                global ortalamaY,ortalamaX
                for i in range(10):
                    
                    if a:
                        global TAG_KORDİNAT_X,TAG_KORDİNAT_Y,Konum_X11,Konum_Y11,ortalamaX,ortalamaY
                        Konum1 = a.decode()
                        Konum2 = Konum1.split(",")
                        
                        Konum_X = Konum2[3].replace(".","")
                        Konum_Y = Konum2[4].replace(".","")
                        

                        Konum_X2 = list(Konum_X)
                        Konum_Y2 = list(Konum_Y)
                        if Konum_X2[0] == "-":
                            Konum_X3 = Konum_X2[2]
                            Konum_Y3 = Konum_Y2[2]

                            Konum_Y4 = Konum_X2[3]
                            Konum_X4 = Konum_Y2[3]
                        Konum_X3 = Konum_X2[1]
                        Konum_Y3 = Konum_Y2[1]

                        Konum_Y4 = Konum_X2[2]
                        Konum_X4 = Konum_Y2[2]

                        Konum_X11 = (str(Konum_X3)+str(Konum_X4))
                        Konum_Y11 = (str(Konum_Y3)+str(Konum_Y4))

                        if str(Konum_X11) == "an":
                            Konum_X11 = -2000
                        else:
                            Konum_X11 = (str(Konum_X3)+str(Konum_X4))

                        if str(Konum_Y11) == "an":
                            Konum_Y11 = -2000
                        else:
                            Konum_Y11 = (str(Konum_X3)+str(Konum_X4))

                        sayilarX.append(int(Konum_X11))
                        sayilarY.append(int(Konum_Y11))

                        sayilarX.remove(min(sayilarX))
                        sayilarX.remove(max(sayilarX))

                        sayilarY.remove(min(sayilarY))
                        sayilarY.remove(max(sayilarY))

                        

                        ortalamaX = sum(sayilarX) / len(sayilarX)
                        ortalamaY = sum(sayilarY) / len(sayilarY)

                        print("X="+str(ortalamaX))
                        print("Y="+str(ortalamaY))
                        time.sleep(0.1)

            except:
                pass
            TAG_KORDİNAT_X = int(ortalamaX)*4+375+40
            TAG_KORDİNAT_Y = int(ortalamaY)*4

Kodumun büyük kısmı böyle
hep hata alıyorum

TAG_KORDİNAT_X = int(ortalamaX)*4+375+40
NameError: name 'ortalamaX' is not defined

Bu hatayı olıyorum
Nerede hata yaptığımı söylerse çok sevinirim

niye try ın içinde ?

Anlayamadın biraz daha açıklarmısınız

valla bende anlayamadım. class kullanıp self ile niye çekmiyosun ?

OrtalamX in global olduğu tryın içinde belirtilmiş fakat siz tryın dışında OrtalamX in global olduğu belirtmeden ona ulaşmaya çalışıyorsunuz.

Yani kodu düzenleyip atarmısın

Belki benim dediğimden dolayı olmuyor da olabilir.Emin olamadım şimdi siz ortalamaX e değerini atamadan hata alıp excepte geçiyorsa da olabilir bu excepti kaldırdığınızda hata meydana geliyor mu geliyorsa hangi satırda.

sayilarX.remove(max(sayilarX))
ValueError: max() arg is an empty sequence

Şimdi Böyle bir hata var

Lütfen Yardım edin .

sayilarX Listesi boş olduğu zaman bu hata alınır.

try excepti halinde OrtalamaX bu satırdan sonra tanımlanıyor ama bu satırda hata gerçekleşince excepte geçiyor bu yüzden tanımlanamıyor hata alıyordunuz.