Evde geçirdiğimiz bu sıkıntılı günleri hem daha etkili geçirebilmek hem de bir şeyler öğrenip kendimizi geliştirebilmemiz için “Yeni Başlayanlar İçin Python Ödevleri” serisi başlatmıştık. Bu serimiz çok fazla beğenildi, etkinliğe katılım oldu ve bu etkinliğimize devam etme kararı aldık.
1.Bölümde Corona Virüsü Tespiti Yapan Program Geliştirdik
Yeni Projemiz Ne Olacak?
Şimdi ise ilk programa kolay biraz daha zor olsun dendiği için, ilk yazdığımız programa göre bir seviye daha karışık ve zorlayıcı bir program yazacağız.
Yapacağımız program ise kullanıcının girdiği sayının Friedman Sayısı olup olmadığını bulacak.
Friedman Sayılar Nedir?
Elimizde bir tam sayı olsun. Eğer sadece toplama, çıkarma, çarpma, bölme ve üs alma işlemlerini kullanarak sayının rakamlarından, kendisini elde edebiliyorsak bu sayı Friedman sayısıdır.
Örnekler:
- 121 = 11²
- 125 = 5^(1+2)
- 128 = 2^(8-1)
- 289 = (8+9)^2
- 625 = 5^(6-2)
Sizden İstediğimiz:
Kullanıcıdan aldığı sayının Friedman Sayısı olup olmadığını kontrol eden bir program yazacaksınız. Kaç basamaklı yapmak veya ne kadar geliştireceğiniz size kalmış isterseniz sadece 2 basamaklı Friedman Sayılarını bulabilirsiniz. Burada önemli olan Friedman Sayısını Python kullanarak nasıl programlarsınız.
!! Birinci bölümde olduğu gibi yorumlar hemen onaylanmayacaktır.
!! Yapamadığınız, takıldığınız yerleri telegram grubumuza katılarak sorabilirsiniz. Amacımız hep birlikte öğrenerek projeler geliştirmek.
!! Birinci bölümde yaşanan sorunlardan dolayı, sizlerden geliştirdiğiniz programları github ile paylaşmanızı istiyoruz. Çünkü kodlar yorumlarda okunamıyor ve karmaşık görünüyor, bazı kısımlar siliniyor o yüzden github kullanmanızı istiyoruz.
https://github.com/SELCUKKIBAR/PYTHON-CALISMALARIM/blob/master/2_basamakl%C4%B1%20frieadman%20say%C4%B1.py
https://github.com/SELCUKKIBAR/PYTHON-CALISMALARIM/blob/master/2%20ve%203%20basamakl%C4%B1%20friedman%20say%C4%B1.py
print(“””
*********
Friedman sayısı bulucu…
*********
“””)
print(“””
Friedman Sayılar Nedir?
Elimizde bir tam sayı olsun.\nEğer sadece toplama, çıkarma, çarpma, bölme ve üs alma işlemlerini kullanarak sayının rakamlarından,\nkendisini elde edebiliyorsak bu sayı Friedman sayısıdır.
“””)
sayi = input(“Sayı:”)
basamaksayisi = len(sayi)
while basamaksayisi == 2:
if int(sayi[0]) ** int(sayi[1]) == sayi:
print(“Sayınız bir friedman sayısıdır…”)
break
elif int(sayi[1]) ** int(sayi[0]) == sayi:
print(“Sayınız bir friedman sayısıdır…”)
break
else:
print(“Sayınız bir friedman sayısı değildir…”)
break
bu kod saçma bi şekilde çalışmıyor kontrol edermisiniz
== int(sayi)şeklinde olması gerekiyor
https://github.com/users/hakanakahramanjpg/projects/1#column-9505546