Örnek çözümler en aşağıda verilmiştir.
1 - Bir sayının asal olup olmadığını dönen bir fonksiyon yazın. Daha sonra bu fonksiyonu, kullanıcıdan aldığı sayının asal olup olmadığını sorgulayan asal bulma programınızda kullanın.
2 - 2 sayının EBOB unu bulan bir fonksiyon yazın. Daha sonra yazacağınız EBOB Bulma Programında (kullanıcıdan iki sayı isteyin ve ebobunu gösterin) bu fonksiyonu kullanın.
3 - İki sayının EKOK unu bulan bir fonksiyon yazın. Daha sonra yazacağınız EKOK Bulma Programında (kullanıcının verdiği iki sayının ekokunu gösterin) bu fonksiyonu kullanın.
4 - Bir sayının mükemmel sayı olup olmadığını dönen bir fonksiyon yazın, daha sonra bu fonksiyonu 1-1000 arası sayılardan mükemmel sayı olanları ekrana yazdırmak için kullanın.
5 - 1-101 arası sayılardan pisagor üçgeni oluşturanları dönen bir fonksiyon yazın ve ekrana yazdırın.
6 - İki basamaklı sayının okunuşunu ekrana yazdıran bir fonksiyon yazın, daha sonra kullanıcıdan iki basamaklı sayı alan ve fonksiyonu kullanarak okunuşunu ekrana yazdıran bir program yazın. Kullanıcı 'q' ya basana kadar program çalışsın.
7 - Verilen sayının 1 ve kendisi hariç tam bölenlerini bulan bir fonksiyon yazın ve daha sonrasında yazdığınız program ile kullanıcı 'q'ya basana kadar verdiği sayıların tam bölenlerini gösterin.
1 -
def asal_mi(sayi):
if sayi == 1:
return False
elif sayi == 2:
return True
else:
for x in range(2,sayi):
if sayi % x == 0:
return False
return True
while True:
sayi = input("Sayı: ")
if sayi == "q":
break
else:
sayi = int(sayi)
if asal_mi(sayi):
print(sayi,"Asal Sayıdır")
else:
print(sayi,"Asal Sayı Değildir")
OUTPUT
Sayı: 7
7 Asal Sayıdır
Sayı: 15
15 Asal Sayı Değildir
Sayı: 3
3 Asal Sayıdır
Sayı: q
2 -
def ebob(x,y):
bolen = 2
carpim = 1
while x > 1 or y > 1:
if x % bolen == 0 and y % bolen == 0:
x /= bolen
y /= bolen
carpim *= bolen
elif x % bolen == 0 and y % bolen != 0:
x /= bolen
elif x % bolen != 0 and y % bolen == 0:
y /= bolen
elif x % bolen != 0 and y % bolen != 0:
bolen += 1
return carpim
while True:
sayi1 = input("1.Sayı: ")
sayi2 = input("2.Sayı: ")
if sayi1 == "q" or sayi2 == "q":
print("Program Sonlandı")
break
else:
sayi1 = int(sayi1)
sayi2 = int(sayi2)
print(ebob(sayi1,sayi2))
OUTPUT
1.Sayı: 15
2.Sayı: 60
15
1.Sayı: 20
2.Sayı: 35
5
1.Sayı: q
2.Sayı:
Program Sonlandı
3 -
def ekok(x,y):
bolen = 2
carpim = 1
while x > 1 or y > 1:
if x % bolen == 0 and y % bolen != 0:
x /= bolen
carpim *= bolen
elif x % bolen != 0 and y % bolen == 0:
y /= bolen
carpim *= bolen
elif x % bolen == 0 and y % bolen == 0:
x /= bolen
y /= bolen
carpim *= bolen
else:
bolen += 1
return carpim
while True:
sayi1 = input("1.Sayı: ")
sayi2 = input("2.Sayı: ")
if sayi1 == "q" or sayi2 == "q":
print("Program Sonlandı")
break
else:
sayi1 = int(sayi1)
sayi2 = int(sayi2)
print(ekok(sayi1,sayi2))
OUTPUT
1.Sayı: 66
2.Sayı: 5
330
1.Sayı: 25
2.Sayı: 12
300
1.Sayı: 5
2.Sayı: 6
30
1.Sayı: q
2.Sayı: q
Program Sonlandı
4 -
def mukkemmelsayi(sayi):
toplam = 0
for x in range(1,sayi):
if sayi % x == 0:
toplam += x
if toplam == sayi:
return True
for x in range(1,1000):
if mukkemmelsayi(x):
print(x)
OUTPUT
6
28
496
5 -
def pisagor():
pisagorlar = list()
for i in range(1,101):
for j in range(1,101):
for k in range(1,101):
if i ** 2 + j ** 2 == k ** 2:
pisagorlar.append((i,j,k))
return pisagorlar
print(pisagor())
OUTPUT
[(3, 4, 5), (4, 3, 5), (5, 12, 13), (6, 8, 10), (7, 24, 25), (8, 6, 10), (8, 15, 17), (9, 12, 15), (9, 40, 41), (10, 24, 26), (11, 60, 61), (12, 5, 13), (12, 9, 15), (12, 16, 20), (12, 35, 37), (13, 84, 85), (14, 48, 50), (15, 8, 17), (15, 20, 25), (15, 36, 39), (16, 12, 20), (16, 30, 34), (16, 63, 65), (18, 24, 30), (18, 80, 82), (20, 15, 25), (20, 21, 29), (20, 48, 52), (21, 20, 29), (21, 28, 35), (21, 72, 75), (24, 7, 25), (24, 10, 26), (24, 18, 30), (24, 32, 40), (24, 45, 51), (24, 70, 74), (25, 60, 65), (27, 36, 45), (28, 21, 35), (28, 45, 53), (28, 96, 100), (30, 16, 34), (30, 40, 50), (30, 72, 78), (32, 24, 40), (32, 60, 68), (33, 44, 55), (33, 56, 65), (35, 12, 37), (35, 84, 91), (36, 15, 39), (36, 27, 45), (36, 48, 60), (36, 77, 85), (39, 52, 65), (39, 80, 89), (40, 9, 41), (40, 30, 50), (40, 42, 58), (40, 75, 85), (42, 40, 58), (42, 56, 70), (44, 33, 55), (45, 24, 51), (45, 28, 53), (45, 60, 75), (48, 14, 50), (48, 20, 52), (48, 36, 60), (48, 55, 73), (48, 64, 80), (51, 68, 85), (52, 39, 65), (54, 72, 90), (55, 48, 73), (56, 33, 65), (56, 42, 70), (57, 76, 95), (60, 11, 61), (60, 25, 65), (60, 32, 68), (60, 45, 75), (60, 63, 87), (60, 80, 100), (63, 16, 65), (63, 60, 87), (64, 48, 80), (65, 72, 97), (68, 51, 85), (70, 24, 74), (72, 21, 75), (72, 30, 78), (72, 54, 90), (72, 65, 97), (75, 40, 85), (76, 57, 95), (77, 36, 85), (80, 18, 82), (80, 39, 89), (80, 60, 100), (84, 13, 85), (84, 35, 91), (96, 28, 100)]
6 -
def okunus(x):
birinci_basamak = ["","Bir","İki","Üç","Dört","Beş","Altı","Yedi","Sekiz","Dokuz"]
ikinci_basamak = ["","On","Yirmi","Otuz","Kırk","Elli","Altmış","Yetmiş","Seksen","Doksan"]
birinci = x % 10
ikinci = x // 10
print(ikinci_basamak[ikinci],birinci_basamak[birinci])
while True:
sayi = input("Sayı: ")
if sayi == "q":
print("Program Sonlandı")
break
else:
sayi = int(sayi)
print(okunus(sayi))
OUTPUT
Sayı: 54
Elli Dört
Sayı: 65
Altmış Beş
Sayı: q
Program Sonlandı
7 -
def tambolenleribulma(sayi):
tam_bolenler = list()
for x in range(2,sayi):
if sayi % x == 0:
tam_bolenler.append(x)
return tam_bolenler
while True:
sayi = input("Sayı: ")
if sayi == "q":
print("Program Sonlandı!")
break
else:
sayi = int(sayi)
print("Tam Bölenler",tambolenleribulma(sayi))
OUTPUT
Sayı: 54
Tam Bölenler [2, 3, 6, 9, 18, 27]
Sayı: 72
Tam Bölenler [2, 3, 4, 6, 8, 9, 12, 18, 24, 36]
Sayı: 9
Tam Bölenler [3]
Sayı: q
Program Sonlandı!