Kendi başlangıç seviyeme göre kendimi zorlamak adına bu başlangıç programını yazmaya karar
verdim.Program generate adlı bir modulden ve modulu içe aktardığım ana programdan oluşuyor.
modul programı:
class generate():
def init(self):
self.liste=[]
self.seçim=""
self.choice()
def choice(self):
print("""
Sayı girmek için: 1
Metin girmek için: 2
Çıkış için: q
""")
self.seçim=input("Lütfen seçiminizi giriniz:\t")
if not self.seçim=="1" and not self.seçim=="2":
if self.seçim=="q":
print("Çıkılıyor...")
return
print("Sadece 1,2 ve q seçenekleri")
self.choice()
#print(self.seçim)
elif self.seçim=="1":
self.sayı_gir()
elif self.seçim=="2":
self.metin_gir()
#başka veri tipleri girmek için tuple vss buraya choice() ekleme yapabiliriz
#elif self.seçim=="3": self.tuple_gir() gibi
def sayı_gir(self):
self.sayı=input("Lütfen Sayıyı Girin")
if not self.sayı:
print("Boş karakter girmeyin")
self.choice()
elif not self.sayı.isnumeric():
print("Sadece sayı")
self.choice()
self.sayı=int(self.sayı)
self.liste.append(self.sayı)
a=input("Tekrar veri eklemek ister misiniz?e/h")
a=a.lower()
if a=="e":
self.choice()
elif a=="h":
return
else:
self.choice() #e,h harfi dışında
def metin_gir(self):
self.metin=input("Lütfen metni girin")
if not self.metin:
print("Boş karakter girmeyin")
self.choice()
self.liste.append(self.metin)
b=input("Tekrar veri eklemek ister misiniz?e/h")
b=b.lower()
if b=="e":
self.choice()
elif b=="h":
return
else:
self.choice() #e,h harfi dışında
if __name__=="__main__":
generate().liste
else:
print("Modül içe aktarıldı")
#sınıfın ana kemiği choice(self),girintilere dikkat!!!girinti hizalarında
#yapılan işlemlere bak!!!
#import generate as gn
#a=gn.generate()
#b=gn.generate()
#c=gn.generate()
#a_list=a.liste
#b_list=b.liste
#c_list=c.liste
#Başka bir programda generate.py modül olarak içe aktardıktan sonra
#a=gn.generate() örneklendirip(instantiation) sonra a_list=a.liste
#liste adlı örnek niteliğini(instance attribute) değişkene atıyoruz.
#sınıfta bir örnekleme alıp liste değerini değişkene atadıktan sonra
#b=gn.generate() ikinci kez aynı işlemi yapmak için sınıfın quit ile
#tamamen programı kapatmasını değil ikinci örneklemeyi alabilmek için
#return kullanıp bağlı olduğu fonksiyondaki alt satırları işletmeyerek
#programı tamamen kapatmadan b=gn.generate() işlemine modül olarak çağrılan
#programda devam edebiliyoruz.
kodları alıntı yaparken ilk 5 kodu forum girinti yapamadığından dolayı girintiyi siz koyabilirsiniz.
kusura bakmayın.
asıl program ise
import generate as gn
#a=gn.generate()
#b=gn.generate()
#c=gn.generate()
#a_list=a.liste
#b_list=b.liste
#c_list=c.liste
vr={}
try:
x=int(input(“Kaç adet liste gireceksiniz?”))
except ValueError as hata:
print(“Sadece sayı”)
print(hata)
for num in range(0,x):
vr[“a”+str(num)]=gn.generate().liste
print(vr) #kontrol için
listee=list(vr.values())
print(listee) #kontrol için
def unique_list(*args):
print(args) #kontrol için
return list(set().union(*args))
print(unique_list(*listee))
#print(unique_list(a_list,b_list,c_list))
for num in range(0,x):
vr[“a”+str(num)]=gn.generate().liste girintisi düzeltilcek