EEM-241 İleri Düzey Programlama
2024-2025 Güz Dönemi
Ders 6 - Python Programlama
Döngüler
i=0
while i<10:
print(i, end=" ")
i += 1
0 1 2 3 4 5 6 7 8 9
range fonksiyonu
list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(10,20))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
list(range(10,20,3))
[10, 13, 16, 19]
for i in range(10):
print(i, end=" ")
0 1 2 3 4 5 6 7 8 9
for i in range(10,50,7):
print(i**2, end=" ")
100 289 576 961 1444 2025
for i in range(10,50):
if i%7==0:
print(i,i**3)
14 2744 21 9261 28 21952 35 42875 42 74088 49 117649
for i in range(10,25):
if i%7==0 or i%3==0:
print(i,i**3)
12 1728 14 2744 15 3375 18 5832 21 9261 24 13824
a=[]
for i in range(10,25):
if i%7==0 or i%3==0:
a.append(i)
a, a[-1],a[2]
([12, 14, 15, 18, 21, 24], 24, 15)
bolumler=["bilgisayar","elektrik","mekatronik","makine","insaat"]
for bolum in bolumler:
print(bolum)
bilgisayar elektrik mekatronik makine insaat
metin="bu bir yazıdır."
for karakter in metin:
print(karakter,end="-")
b-u- -b-i-r- -y-a-z-ı-d-ı-r-.-
Çok boyutlu listeler, matris örneği
matris1=[[1,2,3],[4,5,6],[7,8,9]]
matris1[0],matris1[0][0]
([1, 2, 3], 1)
matris1
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for satir in matris1:
for sayi in satir:
print(sayi, end=" ")
print()
1 2 3 4 5 6 7 8 9
matris1=[[1,2,3,4],[4,5,6,4],[7,8,9,5]]
matris2=[[3,4,5,6],[3,4,5,6],[3,4,5,6]]
for i in range(len(matris1)):
for j in range(len(matris1[0])):
print(f"{matris1[i][j]+matris2[i][j]:3}", end=" ")
print()
4 6 8 10 7 9 11 10 10 12 14 11
matris1=[[6,2,3,4],[4,5,6,4],[7,0,9,5]]
en küçük değeri bulma
ek=matris1[0][0]
for satir in matris1:
for sayi in satir:
if sayi<ek:
ek=sayi
ek
0
ek=min(matris1[0])
for satir in matris1[1:]:
if min(satir)<ek:
ek=min(satir)
ek
0
toplamını bulma
matris1=[[6,2,3,4],[4,5,6,4],[7,0,9,5]]
toplam=0
for satir in matris1:
for sayi in satir:
toplam += sayi
toplam
55
toplam=0
for satir in matris1:
toplam+=sum(satir)
toplam
55
liste=[[6,2,3,4,"1bc"],[4.1,5,6.5,4,"x"],[7,0,9,5,"123"]]
toplam=0
for alt_liste in liste:
for eleman in alt_liste:
if type(eleman)==int or type(eleman)==float:
toplam += eleman
toplam
55.6
break ve continue kullanımı
matris1=[[6,2,3,4],[4,5,6,4],[7,0,9,5]]
for i in range(len(matris1)):
if i==1:
continue
print(matris1[i])
[6, 2, 3, 4] [7, 0, 9, 5]
for i in range(len(matris1)):
if i==1:
break
print(matris1[i])
[6, 2, 3, 4]
matris1=[[6,2,3,4],[4,5,6,4],[7,0,9,5]]
for i in range(len(matris1)):
for j in range(len(matris1[i])):
if i==j:
continue
print(matris1[i][j],end=" ")
print()
2 3 4 4 6 4 7 0 5
matris1=[[6,2,3,4],[4,5,6,4],[7,0,9,5]]
for i in range(len(matris1)):
for j in range(len(matris1[i])):
if i==j:
break
print(matris1[i][j],end=" ")
print()
4 7 0
ord ve chr fonksiyonları
ord("a")
97
chr(97)
'a'
metin="bu bir stringdir."
for kar in metin:
print(ord(kar), end=" ")
98 117 32 98 105 114 32 115 116 114 105 110 103 100 105 114 46
#sifreleme
anahtar=3
for kar in metin:
print(chr(ord(kar)+anahtar), end="")
ex#elu#vwulqjglu1
sifreli_metin="ex#elu#vwulqjglu1"
for kar in sifreli_metin:
print(chr(ord(kar)-anahtar), end="")
bu bir stringdir.
for i in range(1500, 1600):
print(chr(i), end=" ")
ל ם מ ן נ ס ע ף פ ץ צ ק ר ש ת ׯ װ ױ ײ ׳ ״ ؆ ؇ ؈ ؉ ؊ ؋ ، ؍ ؎ ؏ ؐ ؑ ؒ ؓ ؔ ؕ ؖ ؗ ؘ ؙ ؚ ؛ ؝ ؞ ؟ ؠ ء آ أ ؤ إ ئ ا ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ػ ؼ ؽ ؾ ؿ
import this
zen_of_python="""Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!"""
# metinedeki yeni satır sayısı
sayac=0
for i in zen_of_python:
if i=="\n":
sayac += 1
sayac
18
zen_of_python.count("\n")
18
#metindeki bütük harf sayısı
sayac=0
for kar in zen_of_python:
if ord(kar) >= ord("A") and ord(kar) <= ord("Z"):
sayac += 1
sayac
20
sayac=0
for kar in zen_of_python:
if kar >= "A" and kar <= "Z":
sayac += 1
sayac
20
sayac=0
i=0
while i<len(zen_of_python):
if zen_of_python[i]>="a" and zen_of_python[i]<="z":
sayac += 1
i += 1
print("kucuk harflerin sayisi:", sayac)
print("diger karakterlerin sayisi:", len(zen_of_python)-sayac)
kucuk harflerin sayisi: 632 diger karakterlerin sayisi: 190
# harf ve sayı olmayan karakterlerin sayısı
sayac=0
for kar in zen_of_python:
if not kar.isalnum():
sayac += 1
sayac
170
# her bir harften kaç tane var
for kucuk_harf_ascii in range(ord("a"),ord("z")+1):
sayac=0
for kar in zen_of_python:
if ord(kar)==kucuk_harf_ascii:
sayac += 1
print(f"{chr(kucuk_harf_ascii)} kakaterinden {sayac} tane var.")
a kakaterinden 50 tane var. b kakaterinden 19 tane var. c kakaterinden 16 tane var. d kakaterinden 16 tane var. e kakaterinden 86 tane var. f kakaterinden 10 tane var. g kakaterinden 11 tane var. h kakaterinden 29 tane var. i kakaterinden 49 tane var. j kakaterinden 0 tane var. k kakaterinden 2 tane var. l kakaterinden 33 tane var. m kakaterinden 15 tane var. n kakaterinden 38 tane var. o kakaterinden 41 tane var. p kakaterinden 20 tane var. q kakaterinden 0 tane var. r kakaterinden 31 tane var. s kakaterinden 42 tane var. t kakaterinden 74 tane var. u kakaterinden 20 tane var. v kakaterinden 5 tane var. w kakaterinden 4 tane var. x kakaterinden 6 tane var. y kakaterinden 15 tane var. z kakaterinden 0 tane var.
# her bir harften kaç tane var v2
for kucuk_harf_ascii in range(ord("a"),ord("z")+1):
sayac=zen_of_python.count(chr(kucuk_harf_ascii))
print(f"{chr(kucuk_harf_ascii)} kakaterinden {sayac} tane var.")
a kakaterinden 50 tane var. b kakaterinden 19 tane var. c kakaterinden 16 tane var. d kakaterinden 16 tane var. e kakaterinden 86 tane var. f kakaterinden 10 tane var. g kakaterinden 11 tane var. h kakaterinden 29 tane var. i kakaterinden 49 tane var. j kakaterinden 0 tane var. k kakaterinden 2 tane var. l kakaterinden 33 tane var. m kakaterinden 15 tane var. n kakaterinden 38 tane var. o kakaterinden 41 tane var. p kakaterinden 20 tane var. q kakaterinden 0 tane var. r kakaterinden 31 tane var. s kakaterinden 42 tane var. t kakaterinden 74 tane var. u kakaterinden 20 tane var. v kakaterinden 5 tane var. w kakaterinden 4 tane var. x kakaterinden 6 tane var. y kakaterinden 15 tane var. z kakaterinden 0 tane var.
# asal sayı bulma programı while döngüsü ile
sayi=int(input("bir sayi giriniz"))
i=2
while i<=sayi//2:
if sayi%i==0:
break
i += 1
if i == sayi//2+1:
print("sayi asaldir")
else:
print(f"sayi asal değildir {i} sayısı {sayi} sayısını boler: {sayi/i}")
bir sayi giriniz 101 sayi asaldir
# asal sayı bulma programı for döngüsü ile
sayi=int(input("bir sayi giriniz"))
for i in range(2,sayi//2+2):
if sayi%i==0:
break
if i == sayi//2+1:
print("sayi asaldir")
else:
print(f"sayi asal değildir {i} sayısı {sayi} sayısını boler: {sayi/i}")
sayi asal değildir 7 sayısı 1001 sayısını boler: 143.0