Python Programlama Örnekleri

C/C++ , C#, PHP, Small Basic, Java, Delphi sonrasında Python programlama diline de merak saldım ve epey esnek, programcı dostu metotları ve yazım şekli ile iyi ki de öğrenmişim diyorum. Bir kaç dilden benzerlikler var hepsinin en iyi yönleri alınarak yapılmış gibi sanki. Ve özellikle yine meraklı olduğum zeka sorularını çözmekte çok daha iyi.

Bellek kullanımı ve hız konusunda C++ kadar hızlı olmasa da yazım kolaylığı ve daha kısa kodlar yazma konusunda oldukça iyi. Öncelikle girintili yazım kurallarına göre yapılandırıldığı için otomatik olarak okunurluğu ve geliştirilebilirliği arttırıyor, ekip çalışmasına yatkın hale geliyor. Metotlar konusunda ise oldukça zengin ve programcının ihtiyaç duyduğu metotların neredeyse hepsi mevcut.

Bu yazımda bir kaç zeka sorusunun çözümünü programlama ile yapacağım. Zamanla da yorumlara eklerim veya sizin sormak istediğiniz sorular olursa beraber çözmeye çalışırız.

Mesela 1, den 1000 e kadar asal sayıları yazdıralım. Bunun için elimizdeki en kısa kodlardan birisi şu şekilde olabilir.

for a in range(2,1001):
	for b in range(2,a//2+1):
		if a%b==0:
			break
	else:
		print(a)

Yine fibanocci sayılarının ilk 40 üyesini bulmak için kullanılabilecek estetik bir örnek vermek istersek.

fibanocci = [1,1]
for n in range(2,40):
    fibanocci.append(fibanocci[n-1]+fibanocci[n-2])
print(fibanocci)

Satırları yetiyor, elbette rekürsif fonksiyon olarak da yapılabilirdi bu.

Basit bir sayıyı yazıya dönüştüren program yazalım. 999 a kadar olsun (istenilirse aynı yöntem binlere, milyonlara da uzatılabilir.)

birler =["","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz"]
onlar =["","on","yirmi","otuz","kırk","elli","altmış","yetmiş","seksen","doksan"]
sayi = input("Bir sayı giriniz:")
while len(sayi)<3:
    sayi="0"+sayi
if sayi[0]=="0":
    print(onlar[int(sayi[1])]+birler[int(sayi[2])])
elif sayi[0]=="1":
    print("yüz"+onlar[int(sayi[1])] + birler[int(sayi[2])])
else:
    print(birler[int(sayi[0])]+"yüz" + onlar[int(sayi[1])] + birler[int(sayi[2])])

Basit ama etkili bir örnek, bir sayının örneğin 220 nin bölenlerini bir listeye kaydedelim hem bölenlerini, hem de bölenlerin toplamını yazdıralım.

liste = [i for i in range(1, 220//2 + 1) if 220 % i == 0]
print(liste)
print(sum(liste))

Daha detaylı soruların çözümü için ayrı başlıklar açacağım. Sizin de takıldığınız, sormak istediğiniz veya merak ettiğiniz konular olursa yorum olarak ekleyebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Abonelik için e-posta yazmalısınız. Yorumda html etiketleri kullanabilirsiniz.

Gönderen: sonsuz -->

Kategori: Bilişim - Etiketler: , , ,