İki saat kadar önce ne kadar hatırlıyorum diye başlayıp tamamlayamadığım kısacık konsol uygulamasını paylaşayım. Bir de kodları inceleyip neyi nasıl daha uygun şekilde düzenleyebileceğimi söylerseniz sevinirim. Kodlara şuradan veya aşağıdan ulaşabilirsiniz.
for x in str(ilkGirdi): #Aldığımız int değeri listeye dönüşüyor. kontrolListesi.append(int(x))
for x in kontrolListesi: if (x < int(ilkTaban)): # pass #Tabandaki sayı ile girdiyi kontrol ederek else: # Hata olasılığını kaldırıyoruz. print("Girdinizde problem var.") print("Program baştan başlatılıyor.") print("Lütfen düzgün girdiler giriniz.") kontrolDegiskeni = 0 break
if kontrolDegiskeni == 0: kontrolDegiskeni = 1 pass else: sonTaban = input("İstenilen taban : ") ustGecici = 0 # Geçici değişkenler , son tabanın alınması toplamGecici = 0 # Listenin ters çevrilmesi vs. sonSayi = [] kontrolListesi.reverse()
if (int(sonTaban) > int(ilkTaban) or int(sonTaban)<int(ilkTaban)): # Son taban ilk tabandan büyük olursa yapılacak for p in kontrolListesi: # işlemler ve sayının ekrana basımı. p = p * (int(ilkTaban) ** ustGecici) ustGecici = ustGecici + 1 toplamGecici = toplamGecici + p
print("""
Welcome to ma' converter. You can convert between bases.
Copyright plgshlpu 2016©
""")
kontrolDegiskeni = 1
while (kontrolDegiskeni == 1):
ilkGirdi = input("Girdi : ") #Girdi
ilkTaban = input("Girdiniz kaç tabanında : ") #ve taban alınıyor.
kontrolListesi = []
for x in str(ilkGirdi): #Aldığımız int değeri listeye dönüşüyor.
kontrolListesi.append(int(x))
for x in kontrolListesi:
if (x < int(ilkTaban)): #
pass #Tabandaki sayı ile girdiyi kontrol ederek
else: # Hata olasılığını kaldırıyoruz.
print("Girdinizde problem var.")
print("Program baştan başlatılıyor.")
print("Lütfen düzgün girdiler giriniz.")
kontrolDegiskeni = 0
break
if kontrolDegiskeni == 0:
kontrolDegiskeni = 1
pass
else:
sonTaban = input("İstenilen taban : ")
ustGecici = 0 # Geçici değişkenler , son tabanın alınması
toplamGecici = 0 # Listenin ters çevrilmesi vs.
sonSayi = []
kontrolListesi.reverse()
if (int(sonTaban) > int(ilkTaban) or int(sonTaban)<int(ilkTaban)): # Son taban ilk tabandan büyük olursa yapılacak
for p in kontrolListesi: # işlemler ve sayının ekrana basımı.
p = p * (int(ilkTaban) ** ustGecici)
ustGecici = ustGecici + 1
toplamGecici = toplamGecici + p
while (toplamGecici >= int(sonTaban)):
kalanSayi = toplamGecici % int(sonTaban)
sonSayi.append(kalanSayi)
toplamGecici = toplamGecici // int(sonTaban)
sonSayi.append(toplamGecici)
sonSayi.reverse()
print("Sayınız :",sonSayi)
else:
print("Girdiğiniz tabanlar birbirine eşit.")
P.S : Kodun çok kırık dökük kısımları var farkındayım. Düzelteceğim.
< Bu mesaj bu kişi tarafından değiştirildi Guest-794C1993F -- 8 Ekim 2016; 15:41:39 >