Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Nesne Tabanlı Programlama - Egzersiz 2

burakcode

MFC Üyesi
  • Üyelik Tarihi
    20 Nis 2021
  • Mesajlar
    877
  • MFC Puanı
    2,470
Bir kumanda sınıfı oluşturun ve TV durumu, sesi, kanal listesi, gösterilen kanal gibi özellikler ekleyin daha sonra TV açma-kapama,ses seviyesini ayarlama, kanal ekleme, rastgele kanala geçme, kanal listesini ve televizyon bilgilerini gösterme gibi işlevleri sağlıcak metodlar yazın. Son olarak bu sınıfı ve metodları kullanarak bir Televizyon Programı yazın.

Python:
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 == "Açık":
            print("Televizyon Zaten Açık")
        else:
            print("Televizyon Açılıyor...")
            time.sleep(2)
            self.tv_durum = "Açık"

    def tv_kapat(self):
        if self.tv_durum == "Kapalı":
            print("Televizyon Zaten Kapalı")
        else:
            print("Televizyon Kapanıyor...")
            time.sleep(2)
            self.tv_durum = "Kapalı"

    def ses_ayarlari(self):
        while True:
            cevap = input("Sesi Azalt : '<'\nSesi Arttır : '>'\nÇıkış : çıkış\nSeçim : ")
            if cevap == "<":
                if self.tv_ses != 0:
                    self.tv_ses -= 1
                    print("Ses :",self.tv_ses)
            elif cevap == ">":
                if self.tv_ses != 31:
                    self.tv_ses += 1
                    print("Ses :",self.tv_ses)
            else:
                print("Ses Güncellendi :",self.tv_ses)
                break

    def kanal_ekle(self,kanal_ismi):
        print("Kanal Ekleniyor...")
        time.sleep(2)
        self.kanal_listesi.append(kanal_ismi)
        print("Kanal Eklendi")

    def rastgele_kanal(self):
        rastgele = random.randint(0,len(self.kanal_listesi) - 1)
        self.kanal = self.kanal_listesi[rastgele]
        print("Şu an ki Kanal :",self.kanal)

    def __len__(self):                                 
        return len(self.kanal_listesi)

    def __str__(self):
        return "Tv Durumu : {}\nTv Ses : {}\nKanal Listesi : {}\nŞu Anki Kanal : {}\n".format(self.tv_durum,self.tv_ses,self.kanal_listesi,self.kanal)

kumanda = Kumanda()

print("""******************************************
Televizyon Uygulaması

1 - Tv Aç
2 - Tv Kapat
3 - Ses Ayarları
4 - Kanal Ekle
5 - Kanal Sayısını Öğrenme
6 - Rastgele Kanal Geçme
7 - Televizyon Bilgileri

Çıkmak için 'q'ya basın.
******************************************""")

while True:
    islem = input("İşlemi Seçiniz: ")

    if islem == "q":
        print("Program Sonlandı")
        break

    elif islem == "1":
        kumanda.tv_ac()

    elif islem == "2":
        kumanda.tv_kapat()

    elif islem == "3":
        kumanda.ses_ayarlari()

    elif islem == "4":
        kanal_isimleri = input("Kanal isimlerini ',' ile ayırarak giriniz : ")
        kanal_listesi = kanal_isimleri.split(",")
        for eklenecekler in kanal_listesi:
            kumanda.kanal_ekle(eklenecekler)

    elif islem == "5":
        print("Kanal Sayısı :",len(kumanda))

    elif islem == "6":
        kumanda.rastgele_kanal()

    elif islem == "7":
        print(kumanda)

    else:
        print("Geçersiz İşlem")
       
#OUTPUT
******************************************
Televizyon Uygulaması

1 - Tv Aç
2 - Tv Kapat
3 - Ses Ayarları
4 - Kanal Ekle
5 - Kanal Sayısını Öğrenme
6 - Rastgele Kanal Geçme
7 - Televizyon Bilgileri

Çıkmak için 'q'ya basın.
******************************************
İşlemi Seçiniz: 1
Televizyon Açılıyor...
İşlemi Seçiniz: 1
Televizyon Zaten Açık
İşlemi Seçiniz: 2
Televizyon Kapanıyor...
İşlemi Seçiniz: 1
Televizyon Açılıyor...
İşlemi Seçiniz: 3
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 1
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 2
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 3
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 4
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 5
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : >
Ses : 6
Sesi Azalt : '<'
Sesi Arttır : '>'
Çıkış : çıkış
Seçim : çıkış
Ses Güncellendi : 6
İşlemi Seçiniz: 5
Kanal Sayısı : 1
İşlemi Seçiniz: 4
Kanal isimlerini ',' ile ayırarak giriniz : NTV,CNN
Kanal Ekleniyor...
Kanal Eklendi
Kanal Ekleniyor...
Kanal Eklendi
İşlemi Seçiniz: 5
Kanal Sayısı : 3
İşlemi Seçiniz: 6
Şu an ki Kanal : TRT
İşlemi Seçiniz: 6
Şu an ki Kanal : NTV
İşlemi Seçiniz: 7
Tv Durumu : Açık
Tv Ses : 6
Kanal Listesi : ['TRT', 'NTV', 'CNN']
Şu Anki Kanal : NTV

İşlemi Seçiniz: q
Program Sonlandı
© 2021. Burakcode - Tüm Hakları Saklıdır.
 
Üst Alt