Iki sayı aralığındaki asal sayı toplama ve sayı sistemleri

Öncelikle bana pythonu sıfırdan,hele ki daha önce hiç programlama dili bilmeyen birine,python dilini ayrıntılı ve mantığını anlatarak anlatıp öğrettiği için yazbel python türkçe kaynağında emeği geçen herkese canı gönülden teşekkür ediyorum.Daha başlangıç seviyesinde olsam da yazdığım basit bir programı paylaşmak istedim.program tercihe göre iki sayı aralığındaki asal sayıları bulup topluyor veya iki sayı aralığındaki 10 luk sistemdeki sayıları 2 lik,8 lik,16 lık sayı sistemlerine dönüştürüp listeliyor.bu programı pratik olması amacıyla yazdım.

 class number_list():
    def __init__(self):
        self.a_sayı=0
        self.b_sayı=0
        self.param1=""
        self.param2=""
        self.seçim=""
        self.hesapla()
    def hesapla(self):
        temp="""\t \t asal sayı işlemleri için: 1\n
                sayı tabanı listesi için: 2
                çıkış için(q): q
                seçiminiz:\t"""
        self.seçim=input(temp)
        if not self.seçim:
            print("Boş seçim yapılamaz!!!")
            self.__init__()
        elif self.seçim=="q":
            return
        elif self.seçim=="1" or self.seçim=="2":
            self.kontrol()
        else:
            print("1 ve 2  q dışında giriş yapmayın!!!")
            self.__init__()
    def veri_giriş(self):
        n=input("Sayıyı girin:\t")
        return n
    def kontrol(self):
        self.param1=self.veri_giriş()
        self.param2=self.veri_giriş()
        if not self.param1 or not self.param2:
            print("Boş karakter girilemez!!!")
            self.__init__()
        elif not self.param1.isnumeric() or not self.param2.isnumeric():
            print("Sadece sayı giriniz!!!")
            self.__init__()
        self.a_sayı=int(self.param1)
        self.b_sayı=int(self.param2)
        #print(self.a_sayı,self.b_sayı)
        if self.a_sayı>self.b_sayı:
            self.a_sayı, self.b_sayı = self.b_sayı, self.a_sayı
            #print(self.a_sayı,self.b_sayı)
        if self.seçim=="1":
            self.asal()
        elif self.seçim=="2":
            self.sayı_tabanı()
        
    def asal(self):
        bolundu=False
        self.asal_sayı_toplam=0
        self.asal_sayı_liste=[]
        for i in range(self.a_sayı,self.b_sayı):
            bolundu=False
            for j in range(2,i):
                if i%j==0:
                    bolundu=True
            if bolundu==False:
                self.asal_sayı_liste.append(i)
                self.asal_sayı_toplam+=i        
        print(self.asal_sayı_liste)
        print("{0} sayısı ile {1} sayısı arasındaki asal sayıların toplamı {2}".format(self.a_sayı, self.b_sayı, self.asal_sayı_toplam))
    def sayı_tabanı(self):
        for i in range(self.a_sayı, self.b_sayı):
            #print("10 luk sistemde %(deger)5d   8 lik sistemde %(deger)5o    16 lık sistemde %(deger)5x"%{"deger":i})
            print("10 luk sistemde {deger:>5d}   8 lik sistemde {deger:>5o}   16 lık sistemde {deger:>5x}".format(deger=i))
if __name__=="__main__":
    a=number_list()
1 Beğeni