İstenilen sayıda liste üretip hepsini bir öğeden başka aynı öğe olmayan tek listede birleştirmek


#1

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


#2