Python Örnekleri (Seviye 1)
Soru: 7 ile bölünebilen ancak 5’in katı olmayan tüm sayıları bulan bir program yazın, 2000 ve 3200 arasında (her ikisi de dahil). Elde edilen sayılar tek bir satıra virgülle ayrılmış bir sırayla yazdırılmalıdır.
Çözüm:
1 2 3 4 5 6 7 8 | l=[] for i in range(2000, 3201): if (i%7==0) and (i%5!=0): l.append(str(i)) print (', '.join(l)) |
Çıktı:
1 2 3 4 | 2002, 2009, 2016, 2023, 2037, 2044, 2051, 2058, 2072, 2079, 2086, 2093, 2107, 2114, 2121, 2128, 2142, 2149, 2156, 2163, 2177, 2184, 2191, 2198, 2212, 2219, 2226, 2233, 2247, 2254, 2261, 2268, 2282, 2289, 2296, 2303, 2317, 2324, 2331, 2338, 2352, 2359, 2366, 2373, 2387, 2394, 2401, 2408, 2422, 2429, 2436, 2443, 2457, 2464, 2471, 2478, 2492, 2499, 2506, 2513, 2527, 2534, 2541, 2548, 2562, 2569, 2576, 2583, 2597, 2604, 2611, 2618, 2632, 2639, 2646, 2653, 2667, 2674, 2681, 2688, 2702, 2709, 2716, 2723, 2737, 2744, 2751, 2758, 2772, 2779, 2786, 2793, 2807, 2814, 2821, 2828, 2842, 2849, 2856, 2863, 2877, 2884, 2891, 2898, 2912, 2919, 2926, 2933, 2947, 2954, 2961, 2968, 2982, 2989, 2996, 3003, 3017, 3024, 3031, 3038, 3052, 3059, 3066, 3073, 3087, 3094, 3101, 3108, 3122, 3129, 3136, 3143, 3157, 3164, 3171, 3178, 3192, 3199 |
Soru: Belirli bir sayının faktöriyelini hesaplayabilen bir program yazınız. Sonuçlar tek bir satıra virgülle ayrılmış bir sırayla yazdırılmalıdır.
Programa aşağıdaki girişin sağlandığını varsayalım:
8
Ardından çıktı şu şekilde olmalıdır:
40320
Çözüm:
1 2 3 4 5 6 7 8 9 | def fak(x): if x == 0: return 1 return x * fak(x - 1) x=int(input("Bir değer girin:")) print ("sonuc:",fak(x)) |
Çıktı:
1 2 3 4 | Bir değer girin:10 Sonuc: 3628800 |
Soru: Belirli bir n integral numarasıyla, (i, i * i) içeren ve 1 ve n arasındaki integral sayı (her ikisi de dahil) olan bir dictionary verisi oluşturmak için bir program yazın. ve sonra program sözlüğü yazdırmalıdır.
Programa aşağıdaki girişin sağlandığını varsayalım:
5
Ardından çıktı şu şekilde olmalıdır:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Çözüm:
1 2 3 4 5 6 7 8 | n=int(input()) d=dict() for i in range(1,n+1): d[i]=i*i print (d) |
Çıktı:
1 2 3 4 | 5 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} |
Soru: Konsoldan virgülle ayrılmış sayılar dizisini kabul eden bir program yazın ve her sayıyı içeren bir liste ve bir demet oluşturun.
Programa aşağıdaki girişin sağlandığını varsayalım:
12,25,33,52,100
Ardından çıktı şu şekilde olmalıdır:
[‘12,25,33,52,100’]
(‘12,25,33,52,100’,)
İpuçları:
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
tupl () yöntemi listeyi tuple’e dönüştürebilir
Çözüm:
1 2 3 4 5 6 7 | degerler=input() l=degerler.split(", ") t=tuple(l) print (l) print (t) |
Çıktı:
1 2 3 4 5 | 12,25,33,52,100 ['12,25,33,52,100'] ('12,25,33,52,100',) |
Soru: En az iki yöntemi olan bir sınıf tanımlayın:
getString: konsol girişinden bir dize almak için
printString: dizeyi büyük harflerle yazdırmak için.
Ayrıca sınıf yöntemlerini test etmek için lütfen basit test fonksiyonu ekleyin.
İpuçları: Bazı parametreleri oluşturmak için __init__ yöntemini kullanın.
Çözüm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class InputOutString(object): def __init__(self): self.s = "" def getString(self): self.s = input("Giriş yapın:") def printString(self): print (self.s.upper()) strObj = InputOutString() strObj.getString() strObj.printString() |
Çıktı:
1 2 3 4 | Giriş yapın:Merhaba Dünya MERHABA DÜNYA |
Pyton Örnekleri (Seviye 2)
Soru:
Verilen formüle göre girilen değerleri hesaplayan ve yazdıran bir program yazın:
Q = Karekök( [(2 * C * D) / H] )
C ve H sabit değerleri aşağıdadır:
C, 50’dir. H, 30’dur.
D değerleri virgülle ayrılmış bir sırada programınıza girilmesi gereken değişkendir.
Misal
Programa aşağıdaki virgülle ayrılmış giriş sırasının verildiğini varsayalım:
100150180
Program çıktısı:
18,22,24
İpuçları:
Alınan çıktı ondalık formdaysa, en yakın değerine yuvarlanmalıdır (örneğin, alınan çıktı 26.0 ise 26 olarak yazdırılmalıdır)
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
Çözüm:
1 2 3 4 5 6 7 8 9 10 11 12 | #!/usr/bin/env python import math c=50 h=30 deger = [] liste=[x for x in input("giriş yapın:").split(',')] for d in liste: deger.append(str(int(round(math.sqrt(2*c*float(d)/h))))) print (','.join(deger)) |
Çıktı:
1 2 3 4 | giriş yapın:100,110,120,130,140,150 18,19,20,21,22,22 |
Soru:
Giriş olarak 2 basamak, X, Y alan ve 2 boyutlu bir dizi oluşturan bir program yazın. Dizinin i. ve j. sütunlarındaki öğe değeri i * j olmalıdır.
Not: i = 0,1 .., x-1; j = 0,1, ¡y-1 yapısındadır.
Misal
Programa aşağıdaki girişlerin verildiğini varsayalım:
Giriş Yapın:3,4
Ardından, programın çıktısı şöyle olmalıdır:
[[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6]]
İpuçları:
Not: Giriş verilerinin soruya verilmesi durumunda, virgülle ayrılmış bir biçimde bir konsol girişi olduğu varsayılmalıdır.
Çözüm:
1 2 3 4 5 6 7 8 9 10 11 12 13 | input_str = input("Giriş Yapın:") dimensions=[int(x) for x in input_str.split(',')] rowNum=dimensions[0] colNum=dimensions[1] multilist = [[0 for col in range(colNum)] for row in range(rowNum)] for row in range(rowNum): for col in range(colNum): multilist[row][col]= row*col print (multilist) |
Çıktı:
1 2 3 4 | Giriş Yapın:3,4 [[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6]] |
Soru: Virgülle ayrılmış bir kelime dizisini girdi olarak kabul eden ve kelimeleri alfabetik olarak sıraladıktan sonra virgülle ayrılmış bir dizide basan bir program yazın.
Programa aşağıdaki girişin sağlandığını varsayalım:
Virgülle veri girin:Merhaba,Dünya,Edirne,Konya
Dünya, Edirne, Konya, Merhaba
İpuçları:
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
Çözüm:
1 2 3 4 5 | liste=[x for x in input("Virgülle veri girin:").split(',')] liste.sort() print (', '.join(liste)) |
Çıktı:
1 2 3 4 | Virgülle veri girin:Merhaba,Dünya,Edirne,Konya Dünya, Edirne, Konya, Merhaba |
Soru: Satır dizisini giriş olarak kabul eden ve cümledeki tüm karakterleri büyük yazdıktan sonra satırları yazdıran bir program yazın.
Programa aşağıdaki girişin sağlandığını varsayalım:
Giriş Yapın
Merhaba dünya
Giriş Yapın
pratik yapmak geliştirir
Giriş Yapın
MERHABA DÜNYA
PRATIK YAPMAK GELIŞTIRIR
İpuçları:
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
Çözüm:
1 2 3 4 5 6 7 8 9 10 11 12 | satirlar = [] while True: s = input("Giriş Yapın\n") if s: satirlar.append(s.upper()) else: break; for satir in satirlar: print (satir) |
Çıktı:
1 2 3 4 5 6 7 8 9 10 | Giriş Yapın Merhaba dünya Giriş Yapın pratik yapmak geliştirir Giriş Yapın MERHABA DÜNYA PRATIK YAPMAK GELIŞTIRIR |
Soru:
Bir dizi boşlukla ayrılmış sözcükleri girdi olarak kabul eden ve tüm yinelenen sözcükleri kaldırdıktan ve alfasayısal olarak sıraladıktan sonra sözcükleri yazdıran bir program yazın.
Programa aşağıdaki giriş ve çıktı aşağıdaki gibi olacaktır:
merhaba dünya pratik yapmak insanı geliştir ve yine merhaba dünya
dünya geliştir insanı merhaba pratik ve yapmak yine
İpuçları:
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
Yinelenen verileri otomatik olarak kaldırmak için set kapsayıcısını kullanırız ve ardından verileri sıralamak için sort () kullanırız.
Çözüm:
1 2 3 4 5 | s = input() metin = [kelime for kelime in s.split(" ")] print (" ".join(sorted(list(set(metin))))) |
Çıktı:
1 2 3 4 | merhaba dünya pratik yapmak insanı geliştir ve yine merhaba dünya dünya geliştir insanı merhaba pratik ve yapmak yine |
Soru:
Girdi olarak virgülle ayrılmış 4 basamaklı binary sayılar dizisini kabul eden bir program yazın ve sonra bunların 5’e bölünüp bölünmediğini kontrol edin. 5’e bölünebilen sayılar virgülle ayrılmış bir sırada yazdırılacaktır.
Misal:
0100,0011,1010,1001
Sonra çıktı şöyle olmalıdır:
1010
Notlar: Verilerin konsol tarafından girildiğini varsayalım.
İpuçları:
Soruya giriş verilerinin verilmesi durumunda, bunun bir konsol girişi olduğu varsayılmalıdır.
Çözüm:
1 2 3 4 5 6 7 8 9 10 | deger = [] liste=[x for x in input().split(',')] for p in liste: intp = int(p, 2) if not intp%5: deger.append(p) print (','.join(deger)) |
Çıktı:
1 2 3 4 | 0100,0011,1010,1001 1010 |
İlginizi Çekebilir: Python Dersleri
2 Yorum