Dersler

View on GitHub

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