追溯(最近一次呼叫最近):<module> print(self.marka)中的第131行NameError:未定义名称'self'

时间:2020-05-17 20:41:53

标签: python

import time

class Bilgisayar():
    def __init__(self,islemci = " Intel Core i9",ekran_karti = "AMD Radeon Pro 5500M",şarj = 100,pc_durum = "Kapalı",internet_durumu = "Bağlı değil",model = "Macbook",ses = 0,marka = "Pro 2020",ram = 8):
        print("init fonksiyonu...")
        self.model = model
        self.marka = marka
        self.ram = ram
        self.islemci = islemci
        self.ekran_karti = ekran_karti
        self.ses = ses
        self.şarj = şarj
        self.pc_durum = pc_durum
        self.internet_durumu = internet_durumu


    def pc_ac(self):
        if self.pc_durum == "Açık":
            print("Bilgisayarınız zaten açık durumda.")
        else:
            print("Bilgisayar açılıyor.")
            time.sleep(2)
            self.pc_durum = "Açık"

    def pc_kapat(self):
        if self.pc_durum == "Kapalı":
            print("Bilgiisayarınız zaten kapalı durumda.")
        else:
            print("Bilgisayarınız kapatılıyor...")
            time.sleep(1)
            self.pc_durum = "Kapalı"
            print("Bilgisayarınız kapatıldı.")


    def wifiye_bagla(self):
        if self.internet_durumu == "Bağlı":
            print("Bilgisayarınız internete zaten bağlı.")
        else:
            print("İnternete bağlanıyor...")
            time.sleep(1)
            print("Bağlantı başarılı!")
            self.internet_durumu = "Bağlı"
    def internet_kapat(self):
        if self.internet_durumu == "Bağlı değil":
            print("Bilgisayarınız internete zaten bağlı değil")
        else:
            print("İnternet bağlantısı kesiliyor...")
            time.sleep(1)
            self.internet_durumu = "Bağlı değil"
            print("Bağlantı kesildi.")
    def ram_takviyesi(self,yeni_ram):
        print("Ram'e takviye yapılıyor...")
        time.sleep(2)
        self.ram += yeni_ram
        print("Takviye başarılı.")
    def ses_ayarı(self):

        while True:
            cevap = input("Ses kısma: -, Ses Açma: +,iptal etmek için 'iptal'")
            if cevap == "-":
                if self.ses != 0:
                    self.ses -= 5
                    print("Ses:",self.ses)
            elif cevap == "+":
                if self.ses != 100:
                self.ses += 5
                print("Ses:",self.ses)

    def şarja_takma(self,şarj_et):
        while True:
            cevap = input("Bilgisayarınızın mevcut şarjını giriniz:")
            if cevap >= 90:
                print("Şarja takmanıza gerek yok.")
            elif cevap == 50:
                print("Bir süre sonra şarja takabilirsiniz.")
            elif cevap <= 50:
                print("Bilgisayarınızı şarja takınız.")
                self.şarj += şarj_et
                print("Şarj etme başarılı.")
            elif cevap == 0:
                print("Bilgisayarınız kapanıyor.")
                time.sleep(1)
                self.pc_durum = "Kapalı"
                print("BB")
            else:
                print("Bilgisayarınızın şarjı zaten tam dolu.")

    def __str__(self):
        return "Bilgisayarın Markası: {}\nBilgisayarın Modeli: {}\nBilgisayarın Rami: {}\nBilgisayarın İşlemcisi: {}\nBilgisayar Durumu: {}\nBilgisayarın Ses Durumu: {}\nBilgisayarın Şarjı: {}\nBilgisayarın İnternet Durumu: {}\n".format(self.marka,self.model,self.ram,self.islemci,self.pc_durum,self.ses,self.şarj,self.internet_durumu)

bilgisayar = Bilgisayar()

print(""" Bilgisayarınıza Hoşgeldiniz!
İşlemler:

1- Bilgisayarı aç

2- Bilgisayarı kapat

3- Bilgisayarın markasını öğrenme

4- Bilgisayarın modelini öğrenme

5- Bilgisayarın ramini öğrenme

6- Bilgisayarın işlemcisini öğrenme

7- Bilgisayarın ses ayarları

8- Bilgisayarın şarj ayarları

9- Bilgisayarın internet ayarları

çıkmak için kapat/turn off yazabilirsiniz.
""")

while True:
    islem = input("İşlem giriniz:")

    if islem == "kapat" or islem == "turn off":
        print("Uygulamadan çıkılıyor...")
        time.sleep(1)
        break
    elif islem == "1":
        bilgisayar.pc_ac()
    elif islem == "2":
        bilgisayar.pc_kapat()
    elif islem == "3":
        print(self.model)
    elif islem == "4":
        print(self.marka)

1 个答案:

答案 0 :(得分:0)

在第129行和第130行中,您需要将self.modelself.marka更改为bilgisayar.modelbilgisayar.marka

进行这些更改后,对我来说运行正常。

相关问题