Missing 1 required positional argument: 'self' hatası alıyorum, yardım eder misiniz?

import time
import random
import math

class bilgisayar():
    def __init__(self,pc_durum = "kapalı",pc_ses = 0,pc_wifi = "kapalı" ,pc_bt = "bağlı cihaz yok" , uyg = ["sayıtahmin","king", "hesapmakinesi"],batarya = 100 ):
        self.pc_durum = pc_durum
        self.pc_ses = pc_ses
        self.pc_wifi = pc_wifi
        self.pc_bt = pc_bt
        self.uyg = uyg
        self.batarya = batarya

    def acma(self):
        while True:
            if self.pc_durum == "açık" :
                print("pc zaten açık.")
                break

            else:
                print("pc açılıyor...")
                time.sleep(2)
                self.pc_durum = "açık"
                print("pc açıldı")
                break


    def kapama(self):
        while True:
            if self.pc_durum == "kapalı":
                print("pc zaten kapalı")
                break

            else:
                print("pc kapanıyor...")
                time.sleep(2)
                self.pc_durum = "kapalı"
                print("pc kapandı")
                break

    def sesarttırma(self):
        while True:
            if self.pc_ses >= 100:
                print("ses max")
                break

            else:
                print("ses 5 arttırılıyor")
                time.sleep(2)
                self.pc_ses += 5
                print("tv ses: ",self.pc_ses)
                break

    def sesazaltma(self):
        while True:
            if self.pc_ses < 5:
                print("ses yok")
                break

            else:
                print("ses 5 azaltılıyor...")
                time.sleep(2)
                self.pc_ses -= 5
                print("tv ses: ",self.pc_ses)
                break

    def wifiackapa(self):
        while True:
            if self.pc_wifi == "açık":
                self.pc_wifi = "kapalı"
                print("wifi bağlantısı kesildi")
            else:
                self.pc_wifi = "açık"
                print("ağa bağlanıldı")

    def bt(self):
        while True:
            if self.pc_bt == "bağlı cihaz yok" :
                print("""bağlanabilecek cihazlar:
                 1-cosmos
                 2-redmi buts 3
                 3-Aysu iPhone
                 4-çıkmak için q'ya basın
                """)
                x = input("işlem seçiniz: ")
                if x == "4":
                    print("bt'den çıkılıyor....")
                    break

                elif x == "1":
                    print("cosmos cihazına bağlanılıyor...")
                    time.sleep(2)
                    self.pc_bt = "cosmos"

                elif x == "2":
                    print("redmi buts 3 cihazına bağlanılıyor...")
                    time.sleep(2)
                    self.pc_bt = "redmi buts 3"

                elif x == "3":
                    print("Aysu iPhone cihazına bağlanılıyor...")
                    time.sleep(2)
                    self.pc_bt = "Aysu iPhone"

            else:
                print("bağlı cihaz: ", self.pc_bt)
                y = input("çıkmak için 1, bağlantı kesmek için 2 yazın: ")
                if y == "1":
                    print("bt'den çıkılıyor...")
                    break

                elif y == "2":
                    print("bağlantı kesiliyor...")
                    time.sleep(2)
                    self.pc_bt = "bağlı cihaz yok"
                    print("bağlantı kesildi.")
                    break

    def appaç(self):
        print("""***********
        uygulamalar:
        1- sayı tahmin oyunu
        2- king puan hesaplayıcı
        3- hesap makinesi
        4. çıkmak için q' ya basın
        ************        
        """)
        while True:
            z = input("uygulama seçiniz: ")
            if z == "1":

                print("Sayı Tahmin Oyunu açılıyor....")
                time.sleep(5)
                print("""*****************************
                  İNSAN ZORBALAYAN
                  SAYI TAHMIN OYUNU
                  1 ile 40 arasında bir sayı seçiniz.
                  ***************************""")

                rastgele_sayı = random.randint(1, 40)
                tahminhakkı = 7

                while True:
                    tahmin = input("Tahmin gir bakalım: ")

                    if tahmin == "q":
                        print("görüşürüz ucube.")
                        break


                    elif int(tahmin) < rastgele_sayı:
                        print("Bilgiler sorgulanıyor...")
                        time.sleep(5)
                        print("Daha büyük düşün ucube")
                        tahminhakkı -= 1

                    elif int(tahmin) > rastgele_sayı:
                        print(" Bilgiler sorgulanıyor...")
                        time.sleep(5)
                        print("küçük düşün salak.")
                        tahminhakkı -= 1

                    elif tahminhakkı == 0:
                        print("kaybettin ezik. Yenilgiyi kabullendiysen çıkmak için q yaz.")
                        print(rastgele_sayı)



                    else:
                        print("Bilgiler Sorgulanıyor...")
                        time.sleep(5)
                        print(
                            "Tebrikler! Beni alt ettin. Beni daha fazla aşağılamak istemiyorsan q yazıp çıkabilirsin...")


            if z == "2":
                print("King Puan Hesaplayıcı açılıyor...")
                time.sleep(5)
                print("""*************************
                KİNG PUAN HESAPLAMA MOTORU

                Puan Değerleri:
                a-koz: 50             d-kupa almaz: 50    g-rıfkı:300
                b-kız almaz:90        e-el almaz: 30      q-çıkmak için bas.
                c-erkek almaz: 50     f-son iki: 170

                ********************""")

                aysu = 0
                atakan = 0
                defne = 0
                oyunhakkı = 6
                while True:
                    x = input("oyun modu seçiniz: ")
                    if oyunhakkı == 0:
                        print(aysu)
                        print(atakan)
                        print(defne)
                        break

                    elif x == "a":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan += (a1 * 50)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu += (a2 * 50)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne += (a3 * 50)
                        oyunhakkı -= 1

                    elif x == "b":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 90)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 90)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 90)
                        oyunhakkı -= 1

                    elif x == "c":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 50)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 50)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 50)
                        oyunhakkı -= 1

                    elif x == "d":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 50)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 50)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 50)
                        oyunhakkı -= 1

                    elif x == "e":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 30)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 30)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 30)
                        oyunhakkı -= 1

                    elif x == "f":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 170)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 170)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 170)
                        oyunhakkı -= 1

                    elif x == "g":
                        a1 = int(input("Atakan kaç el aldı? : "))
                        atakan -= (a1 * 300)
                        a2 = int(input("Aysu kaç el aldı? : "))
                        aysu -= (a2 * 300)
                        a3 = int(input("Defne kaç el aldı? : "))
                        defne -= (a3 * 300)
                        oyunhakkı -= 1

                    elif x == "q":
                        print("çıkış yapılıyor...")
                        break

            if z == "3":
                print("Hesap Makinesi Açılıyor...")
                time.sleep(2)
                print("""***************************************
                GELİŞMİŞ HESAP MAKİNESİ

                İşlem Seçenekleri:
                1-toplama    5-sin    9-arcsin    13-logaritma
                2-çıkarma    6-cos    10-arccos   14-faktöriyel
                3-çarpma     7-tan    11-arctan   15-kök hesaplama
                4-bölme      8-cot    12-arccot   16-üs hesaplama
                17-çıkış
                ( 1, 2 ve 3. işlemlerde kaç sayı kullancaksınız sorusuna 0 derseniz çıkarsınız işlemden)
                ****************************************
                """)

                def toplama(*liste1):
                    toplam = 0
                    for i in liste1:
                        toplam += i
                    print(toplam)
                    return toplam

                def çıkarma(*liste2):
                    ilksayı = int(input("ilk sayıyı giriniz: "))
                    for k in liste2:
                        ilksayı -= k
                    print(ilksayı)
                    return ilksayı

                def çarpma(*liste3):
                    çarpım = 0
                    for l in liste3:
                        çarpım *= l

                def bölme(a, b):
                    bölüm = a / b
                    print(bölüm)
                    return bölüm

                liste1 = list()
                liste2 = list()
                liste3 = list()

                while True:
                    işlem = int(input("işlem giriniz: "))
                    if işlem == 17:
                        print("Sistem kapatılıyor...")
                        time.sleep(1)
                        break

                    elif işlem == 1:
                        print("toplama işlemini seçtiniz.")
                        n = int(input("Kaç tane sayıyı toplamak istiyorsunuz?: "))

                        while True:
                            i = int(input("sayı giriniz: "))
                            liste1.append(i)
                            if len(liste1) == n:
                                print("İşleminizin sonucu: ", toplama(*liste1))
                                break




                    elif işlem == 2:
                        print("çıkarma işlemini seçtiniz.")
                        m = int(input("ilk sayıdan kaç tane sayı çıkarmak istiyorsunuz?: "))

                        while True:
                            i = int(input("çıkarmak istediğiniz sayıları giriniz: "))
                            liste2.append(i)
                            if len(liste2) == m:
                                print("işleminizin sonucu: ", çıkarma(*liste2))
                                break



                    elif işlem == 3:
                        print("Çarpma işlemini seçtiniz.")
                        k = int(input("Kaç tane sayıyı çarpmak istiyorsunuz?: "))

                        while True:
                            i = int(input("Çarpmak istediğiniz sayıları giriniz: "))
                            liste3.append(i)
                            if len(liste3) == k:
                                print("işleminizin sonucu: ", çarpma(*liste3))
                                break


                    elif işlem == 4:
                        print("Bölme işlemini seçtiniz.")
                        print("1. sayı / 2. sayı")
                        a = int(input("1. sayı: "))
                        b = int(input("2. sayı: "))
                        print("İşleminizin sonucu: ", bölme(a, b))

                    elif işlem == 5:
                        print("sin işlemini seçtiniz.")
                        x = float(input("radyan cinsinden sinüsünü hesaplamak istediğiniz sayıyı giriniz: "))
                        print("işleminizin sonucu:", math.sin(x))

                    elif işlem == 6:
                        print("cos işlemini seçtiniz.")
                        y = float(input("radyan cinsinden cosinüsünü hesaplamak istediğiniz sayıyı giriniz: "))
                        print("işleminizin sonucu: ", math.cos(y))

                    elif işlem == 7:
                        print("tan işlemini seçtiniz.")
                        z = float(input("radyan cinsinden tanjantını hesaplamak istediğiniz sayıyı giriniz: "))
                        print("işleminizin sonucu:", math.tan(z))

                    elif işlem == 8:
                        print("cot işlemini seçtiniz.")
                        t = float(input("radyan cinsinden cotanjantını hesaplamak istediğiniz sayıyı giriniz: "))
                        print("işleminizin sonucu:", math.tan(t))

                    elif işlem == 9:
                        print("arcsin işlemini seçtiniz.")
                        s = float(input("hesaplamak istediğiniz sayıyı giriniz."))
                        print("arcsin sonucu:", math.asin(s))


                    elif işlem == 10:
                        print("arccos işlemini seçtiniz. ")
                        r = float(input("hesaplamak istediğiniz sayıyı giriniz: "))
                        print("arccos sonucu:", math.acos(r))

                    elif işlem == 11:
                        print("arctan işlemini seçtiniz.")
                        l = float(input("hesaplamak istediğiniz sayıyı giriniz:"))
                        print("arctan sonucu:", math.atan(l))

                    elif işlem == 12:
                        print("arccot işlemini seçtiniz: ")
                        u = float(input("Hesaplamak istediğiniz sayıyı giriniz: "))
                        print("arccot sonucu:", 1 / math.atan(u))

                    elif işlem == 13:
                        print("logaritma işlemini seçtiniz.")
                        a = int(input(" taban giriniz."))
                        b = int(input(" sayı giriniz."))
                        print("logaritma sonucu:", math.log(b, a))

                    elif işlem == 14:
                        print("faktöriyel işlemini seçtiniz.")
                        c = int(input("sayı giriniz: "))
                        if c == 0 or c == 1:
                            print("işleminizin sonucu: 1 ")

                        else:
                            print("işleminizin sonucu: ", math.factorial(c))

                    elif işlem == 15:
                        print("kök işlemini seçtiniz.")
                        w = int(input("kök derecesini giriniz: "))
                        ö = int(input("işlem yapılacak sayı: "))
                        print("işlem sonucu:", ö ** (1 / w))

                    elif işlem == 16:
                        p = int(input("kuvveti giriniz: "))
                        j = int(input("işlem yapılacak sayı: "))
                        time.sleep(1)
                        print("işlem sonucu:", j ** p)

            if z == "q":
                print("uygulama açma sisteminden çıkılıyor...")
                break


    def bilgilerigöster(self):
        print("""************
        
        pc: {}
        pc ses seviyesi: {}
        pc wifi: {}
        pc bt: {}
        pc uygulamalar {}
        pc batarya {}
        
     
        
        """.format(self.pc_durum,self.pc_ses,self.pc_wifi,self.pc_bt,self.uyg,self.batarya))


print("""********************************
Defne'nin Bilgisayarı

işlemler:

1-pc aç
2-pc kapa
3-ses arttır
4-ses azalt
5-wifi aç/kapa
6-bt 
7-uygulamalar
8-pc bilgileri

programı sonlandırmak için 0 yazın.



********************************""")

while True:
    k = input("işlem seçiniz: ")
    if k == "0":
        print("sistem sonlandırıldı")
        break

    elif k == "1":
        bilgisayar.acma()

    elif k == "2":
        bilgisayar.kapama()

    elif k == "3":
        bilgisayar.sesarttırma()

    elif k == "4":
        bilgisayar.sesazaltma()

    elif k == "5":
        bilgisayar.wifiackapa()

    elif k == "6":
        bilgisayar.bt()

    elif k == "7":
        bilgisayar.appaç()

    elif k == "8":
        bilgisayar.bilgilerigöster()


Yeni öğrenmeye başladım da:)

Sinif (class) ile sinif ornegi (instance) karismis. (Sinif isimlerinin buyuk harfle baslamasi bu karisikligi azaltir.)

class Bilgisayar:
    ...

bilgisayar = Bilgisayar()
bilgisayar.hede()

Fonksiyonu ornek uzerinden cagirirsaniz, ornek ilk parametre (self) olur. Oteki takdirde parametreyi elle vermeniz lazim:

Bilgisayar.hede(bilgisayar)
2 Beğeni