0 oy
Python kategorisinde (770 puan) tarafından soruldu

Arkadaşlar merhaba. Aşağıdaki örnekte kullanıcıdan kanal eklemesini istediğim zaman kanal isminin başında boşluk karakteri eklenmesini nasıl engelleyebilirim acaba? 

import random
import time

class Kumanda():
    def __init__(self,tv_durumu ="açık",ses = 0 ,kanal_listesi = ["TRT","ATV"], mevcut_kanal = "TRT"):
        self.tv_durumu = tv_durumu
        self.ses = ses
        self.kanal_listesi = kanal_listesi
        self.mevcut_kanal = mevcut_kanal

    def durum(self):
        print("""
        TV DURUMU : {}
        SES DURUMU : {}
        KANAL LİSTESİ : {}
        MEVCUT KANAL : {}
        """.format(self.tv_durumu,self.ses,self.kanal_listesi,self.mevcut_kanal))

    def tv_kapat(self):
        print("Tv kapatılıyor....")
        time.sleep(1)

    def tv_durumu(self):
        self.tv_durumu()

    def kanal_sec(self):
        for i in self.kanal_listesi:
            print(i,"\n")
        secilen_kanal = input("Lütfen kanal seçimi yapınız")
        secilen_kanal = secilen_kanal.upper()
        if secilen_kanal in self.kanal_listesi:
            self.mevcut_kanal = secilen_kanal
            print("Mevcut kanal : ",self.mevcut_kanal)
        else:
            seçim = input("Seçtiğiniz kanal listede mevcut değildir.\nSeçiminizi kanal listesine eklemek istermisiniz : E / H ?")
            if seçim == "E":
                self.kanal_listesi.append(secilen_kanal)
            elif seçim == "H":
                print("Lütfen başka bir seçim yapmayı deneyiniz.")
            else:
                print("Lütfen geçerli bir seçim yapınız.")

    def ses_ayarlama(self):
        while True:
            işlem = input("Ses açmak için '+'\nSes kapamak için '-'\nÜst menüye dönmek için 'geri'")
            if (işlem == "+"):
                if self.ses != 100:
                    self.ses += 1
                    print("Ses : ",self.ses)
            elif (işlem == "-"):
                if self.ses != 0:
                    self.ses -= 1
                    print("Ses : ",self.ses)
            elif (işlem == "geri"):
                print("Üst menüye dönülüyor")
                time.sleep(1)
                break
            else:
                print("Lütfen geçerli bir işlem yapınız")

    def kanal_ekle(self):
        kanallar = input("Lütfen eklenecek kanalları aralarına ',' koyarak giriniz : ")
        kanallar = kanallar.upper()
        eklenecek = kanallar.split(",")
        for i in eklenecek:
            print("Kanal ekleniyor",i)
            time.sleep(1)
            self.kanal_listesi.append(i)
        print("Kanal ekleme işlemi başarıyla gerçekleştirildi.")

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

    def rastgele(self):
        rastgele = random.randint(0,len(tv.kanal_listesi)-1)
        tv.mevcut_kanal = tv.kanal_listesi[rastgele]
        print(tv.mevcut_kanal)

    def mevcutkanal(self):
        print(tv.mevcut_kanal)

tv = Kumanda()

while True:
    işlem = input("Lütfen bir işlem giriniz.\n1 - Tv Kapat\n2 - Durum Öğrenme\n3 - Kanal Seç\n4 - Ses Ayarları\n5 - Kanal Listesi\n6 - Kanal Ekleme\n7 - Kendimi Şanslı Hissediyorum\n8 - Mevcut Kanal Öğrenme \n9 - Çıkış")
    if işlem == "1":
        tv.tv_kapat()
        break
    if işlem == "2":
        print(tv.durum())
    if işlem == "3":
        tv.kanal_sec()
    if işlem == "4":
        tv.ses_ayarlama()
    if işlem == "5":
        print(tv.kanal_listesi)
    if işlem == "6":
        tv.kanal_ekle()
    if işlem == "7":
        tv.rastgele()
    if işlem == "8":
        tv.mevcutkanal()
    if işlem == "9":
        print("Televizyon kapatılıyor...")
        time.sleep(1)
        print("Created by Kerim Potuk")
        time.sleep(2)
        break

 

3 Cevaplar

0 oy
(660 puan) tarafından cevaplandı

Senin için filtre önerebilirm

def filtre(yazi):
  j=0
  for i in yazi:
   if i==" ":
    j+=1
   elif i!= " ":
    break
  k=0
  for i in yazi[::-1]:
   if i==" ":
    k-=1
   elif i!=" ":
    break
  return yazi[j:k]

print filtre("     test test test    ") # Sonundaki ve başındaki boşlukları silecektir

 

0 oy
(8.4k puan) tarafından cevaplandı
Lütfen soru başlığını daha kısa ve anlaşılır bir şekilde düzelitiniz.
0 oy
(820 puan) tarafından cevaplandı

kanal_ekle() fonksiyonu içerisinde,

self.kanal_listesi.append(i)

kısmını şu şekilde değiştirebilirsin;

self.kanal_listesi.append(str(" " + i))

Yazılım Biliminin Soru Cevap Platformuna hepiniz hoşgeldiniz. Bu platformda kurallara uyarak diğer geliştiricilerle yardımlaşabilirsiniz.
...