Pythonla yazdığım kodda bi sorun yaşıyorum

Merhaba arkadaşlar pythona yeni yeni baaşlıyorum. Classları kullanarak bi program yazdım her şey tıkır tıkır çalışıyor fakat kanal ekle ve kanal değiştir kısmında bi sorun yaşıyorum. Yardımcı olabilir misiniz?

import random
import time

class Kumanda:
    def __init__(self,tv_durum = "Kapalı",tv_ses = 0,kanal_listesi = ["TRT"],kanal = "TRT"):
        self.tv_durum = tv_durum
        self.tv_ses = tv_ses
        self.kanal_listesi = kanal_listesi
        self.kanal = kanal
    def tv_ac(self):
        if(self.tv_durum == "Kapalı"):
            print("Televizyon açılıyor...")
            time.sleep(1)
            self.tv_durum = "Açık"
        else:
            print("Televizyon zaten açık güzellik. Ayakta uyuyosun ayakta")
    def tv_kapat(self):
        if(self.tv_durum == "Açık"):
            print("Televizyon kapanıyor...")
            time.sleep(1)
            self.tv_durum = "Kapalı"
        else:
            print("Televizyon zaten kapalı güzellik. Ayakta uyuyosun ayakta")
    def ses_ayari(self):
        print("Sesi açmak için 1, kısmak için 2 tuşunu kullanabilirsiniz.\nEn düşük ses seviyesi 0, en yüksek ses seviyesi ise 10'dur.")
        print("Ses ayarlarından çıkış yapmak için q tuşuna basabilirsiniz")
        while True:
            ses_kontrol = input(">>> ")
            if(ses_kontrol == "1"):
                if(self.tv_ses == 10):
                    print("Ses seviyesi zaten en yüksek düzeyde.")
                else:
                    self.tv_ses += 1
            elif(ses_kontrol == "2"):
                if(self.tv_ses == 0):
                    print("Ses seviyesi zaten en düşük düzeyde.")
                else:
                    self.tv_ses -= 1
            elif(ses_kontrol == "q"):
                break
            else:
                print("Lütfen geçerli bir değer giriniz")
                time.sleep(1)
                print("Ses menüsüne yönlendiriliyorsunuz...")
                time.sleep(1)
    def kanal_ekle(self,kanal_ismi):
        print("Yapabileceğiniz işlemler:\n1. Kanal ekle\n2. Kanal sil\n\nLütfen yapmak istediğiniz işlemin numarasını giriniz\n\n")
        kanal_islemi = int(input(">>> "))
        if(kanal_islemi == 1):
            print("Bu kısımda televizyonunuza yeni kanallar ekleyebilirsiniz")
            eklenecek_kanal = input("Eklenecek kanalın ismini giriniz: ")
            for i in self.kanal_listesi:
                if(eklenecek_kanal == i):
                    print("Bu kanal zaten televizyonunuzda yüklü. Lütfen başka bi değer giriniz")
                    break
                else:
                    kumanda.kanal_ekle(i)
                    print("Kanal ekleniyor. lütfen bekleyiniz.")
                    time.sleep(1)
                    print("Kanal başarıyla yüklendi...")
        elif(kanal_islemi == 2):
            print("Bu kısımda televizyonunuzda kayıtlı kanalları silebilirsiniz")
            silinecek_kanal = input("Silinecek kanalın ismini giriniz: ")
            for i in self.kanal_listesi:
                if(eklenecek_kanal != i):
                    print("Televizyonunuzun kanal listesinde böyle bir kanal bulunamadı. Lütfen başka bi değer giriniz")
                    break
                else:
                    self.kanal_listesi.remove(kanal_ismi(silinecek_kanal))
                    print("Kanal siliniyor. lütfen bekleyiniz.")
                    time.sleep(1)
                    print("Kanal başarıyla silindi...")
    def kanal_degistir(self):
        print("Bu menüde kanallar arasında geçiş yapabilisiniz.")
        print(f"Şuan mevcut kanal {self.kanal} 'dır")
        print(f"Şuan televizyonunuzda kayıtlı kanal sayısı {len(self.kanal_listesi)} 'dır.")
        guncel_kanal = int(input("Geçmek istediğiniz kanal numarasını giriniz: "))
        kanal = guncel_kanal
    def bilgilerigoster(self):
        print("Cihazınızın mevcut bilgileri şunlardır.")
        print(f"""
        Televizyon durumu: {self.tv_durum}
        Ses seviyesi: {self.tv_ses}
        Açık kanal: {self.kanal}
        Kanal listesi: {self.kanal_listesi}
        """)

print("""

***************************************

Kumanda kontrol sistemine hoşgeldiniz.

Bu programda yapabilecekleriniz: 

1. Televizyonu aç
2. Televiyozu kapat
3. Ses ayarları
4. Kanal ekle
5. Kanal değiştir
6. Mevcut bilgileri göster

q: Çıkış

***************************************

""")

kumanda = Kumanda()

while True:
    islem_kontrol = input("Yapmak istediğiniz işlemin numarasını giriniz: ")
    if(islem_kontrol == "q"):
        print("Programdan çıkış yapılıyor...")
        time.sleep(1)
        break

    elif(islem_kontrol == "1"):
        kumanda.tv_ac()
    elif(islem_kontrol == "2"):
        kumanda.tv_kapat() 
    elif(islem_kontrol == "3"):
        kumanda.ses_ayari()
    elif(islem_kontrol == "4"):
        kumanda.kanal_ekle()
    elif(islem_kontrol == "5"):
        kumanda.kanal_degistir()
    elif(islem_kontrol == "6"):
        kumanda.bilgilerigoster()```

Merhaba.

Yukarda, kanal_ekle fonksiyonunu çağırıyorsunuz ama kanal_ekle fonksiyonunu argüman alacak şekilde yazmışsınız:

Kodun devamında da hata var. Burada kumanda.kanal_ekle(i) gibi bir ifade yazmışsınız. kumanda sizin Kumanda sınıfından oluşturacağınız nesnenin ismi. Burada kanal_ekle fonksiyonunu kullanacaksanız onu self ile çağırmalısınız. self.kanal_ekle(i) şeklinde. Ama neden kanal_ekle fonksiyonu içinde kendisini çağırıyorsunuz? Ayrıca gerekmediği halde for döngüsü kullanmışsınız.

Aşağıdaki kodda da self.kanal = guncel_kanal yazmanız gerekiyor.

yanıtınız için çok müteşekkirim fakat yazdıklaınızı tam olarak anlayamadım. Rica etsem kodu düzelterek atabilir misiniz?

import time


class Kumanda:
    def __init__(self,tv_durum = "Kapalı",tv_ses = 0,kanal_listesi = ["TRT"],kanal = "TRT"):
        self.tv_durum = tv_durum
        self.tv_ses = tv_ses
        self.kanal_listesi = kanal_listesi
        self.kanal = kanal
    def tv_ac(self):
        if(self.tv_durum == "Kapalı"):
            print("Televizyon açılıyor...")
            time.sleep(1)
            self.tv_durum = "Açık"
        else:
            print("Televizyon zaten açık güzellik. Ayakta uyuyosun ayakta")
    def tv_kapat(self):
        if(self.tv_durum == "Açık"):
            print("Televizyon kapanıyor...")
            time.sleep(1)
            self.tv_durum = "Kapalı"
        else:
            print("Televizyon zaten kapalı güzellik. Ayakta uyuyosun ayakta")
    def ses_ayari(self):
        print("Sesi açmak için 1, kısmak için 2 tuşunu kullanabilirsiniz.\nEn düşük ses seviyesi 0, en yüksek ses seviyesi ise 10'dur.")
        print("Ses ayarlarından çıkış yapmak için q tuşuna basabilirsiniz")
        while True:
            ses_kontrol = input(">>> ")
            if(ses_kontrol == "1"):
                if(self.tv_ses == 10):
                    print("Ses seviyesi zaten en yüksek düzeyde.")
                else:
                    self.tv_ses += 1
            elif(ses_kontrol == "2"):
                if(self.tv_ses == 0):
                    print("Ses seviyesi zaten en düşük düzeyde.")
                else:
                    self.tv_ses -= 1
            elif(ses_kontrol == "q"):
                break
            else:
                print("Lütfen geçerli bir değer giriniz")
                time.sleep(1)
                print("Ses menüsüne yönlendiriliyorsunuz...")
                time.sleep(1)
    def kanal_ekle(self):
        print("Yapabileceğiniz işlemler:\n1. Kanal ekle\n2. Kanal sil\n\nLütfen yapmak istediğiniz işlemin numarasını giriniz\n\n")
        kanal_islemi = int(input(">>> "))
        if kanal_islemi == 1:
            print("Bu kısımda televizyonunuza yeni kanallar ekleyebilirsiniz")
            eklenecek_kanal = input("Eklenecek kanalın ismini giriniz: ")
            if eklenecek_kanal not in self.kanal_listesi:
                print("Kanal ekleniyor. lütfen bekleyiniz.")
                self.kanal_listesi.append(eklenecek_kanal)
                time.sleep(1)
                print("Kanal başarıyla yüklendi...")
            else:
                print("Bu kanal zaten televizyonunuzda yüklü. Lütfen başka bi değer giriniz")
        elif kanal_islemi == 2:
            print("Bu kısımda televizyonunuzda kayıtlı kanalları silebilirsiniz")
            silinecek_kanal = input("Silinecek kanalın ismini giriniz: ")
            if silinecek_kanal not in self.kanal_listesi:
                print("Televizyonunuzun kanal listesinde böyle bir kanal bulunamadı. Lütfen başka bi değer giriniz")
            else:
                print("Kanal siliniyor. lütfen bekleyiniz.")
                self.kanal_listesi.remove(silinecek_kanal)
                time.sleep(1)
                print("Kanal başarıyla silindi...")
    def kanal_degistir(self):
        print("Bu menüde kanallar arasında geçiş yapabilisiniz.")
        print(f"Şuan mevcut kanal {self.kanal} 'dır")
        print(f"Şuan televizyonunuzda kayıtlı kanal sayısı {len(self.kanal_listesi)} 'dır.")
        guncel_kanal = int(input("Geçmek istediğiniz kanal numarasını giriniz: "))
        self.kanal = guncel_kanal
    def bilgilerigoster(self):
        print("Cihazınızın mevcut bilgileri şunlardır.")
        print(f"""
        Televizyon durumu: {self.tv_durum}
        Ses seviyesi: {self.tv_ses}
        Açık kanal: {self.kanal}
        Kanal listesi: {self.kanal_listesi}
        """)

print("""

***************************************

Kumanda kontrol sistemine hoşgeldiniz.

Bu programda yapabilecekleriniz: 

1. Televizyonu aç
2. Televiyozu kapat
3. Ses ayarları
4. Kanal ekle
5. Kanal değiştir
6. Mevcut bilgileri göster

q: Çıkış

***************************************

""")

kumanda = Kumanda()

while True:
    islem_kontrol = input("Yapmak istediğiniz işlemin numarasını giriniz: ")
    if(islem_kontrol == "q"):
        print("Programdan çıkış yapılıyor...")
        time.sleep(1)
        break

    elif(islem_kontrol == "1"):
        kumanda.tv_ac()
    elif(islem_kontrol == "2"):
        kumanda.tv_kapat()
    elif(islem_kontrol == "3"):
        kumanda.ses_ayari()
    elif(islem_kontrol == "4"):
        kumanda.kanal_ekle()
    elif(islem_kontrol == "5"):
        kumanda.kanal_degistir()
    elif(islem_kontrol == "6"):
        kumanda.bilgilerigoster()

çok teşekkür ederim hocam