Dersler

View on GitHub

EEM-241 İleri Düzey Programlama

2024-2025 Güz Dönemi

Ders 7 - Python Programlama

liste=["muz","elma","armut","karpuz","kiraz"]
len(liste)
5
liste.sort()
liste
    ['armut', 'elma', 'karpuz', 'kiraz', 'muz']
liste.sort(reverse=True)
liste
    ['muz', 'kiraz', 'karpuz', 'elma', 'armut']
liste[-1]="Armut"
liste[2]="Karpuz"
liste
    ['muz', 'kiraz', 'Karpuz', 'elma', 'Armut']
liste.sort()
liste
    ['Armut', 'Karpuz', 'elma', 'kiraz', 'muz']
liste.sort(key=str.lower)
liste
    ['Armut', 'elma', 'Karpuz', 'kiraz', 'muz']

List Comprehensions

liste2=[]
for meyve in liste[::-1]:
    liste2.append(meyve)
liste2
    ['muz', 'kiraz', 'Karpuz', 'elma', 'Armut']
liste3=[meyve for meyve in liste[::-1]]
liste3
    ['muz', 'kiraz', 'Karpuz', 'elma', 'Armut']
liste3=["meyve: "+meyve for meyve in liste[::-1]]
liste3
    ['meyve: muz', 'meyve: kiraz', 'meyve: Karpuz', 'meyve: elma', 'meyve: Armut']
liste3=[meyve.lower() for meyve in liste[::-1]]
liste3
    ['muz', 'kiraz', 'karpuz', 'elma', 'armut']
liste3=[meyve.lower() for meyve in liste[::-1] if meyve.lower()!="elma"]
liste3
    ['muz', 'kiraz', 'karpuz', 'armut']
liste3=[meyve for meyve in liste[::-1] if "a" in meyve.lower()]
liste3
    ['kiraz', 'Karpuz', 'elma', 'Armut']
liste3=[meyve.upper() for meyve in liste[::-1] if "a" in meyve.lower()]
liste3
    ['KIRAZ', 'KARPUZ', 'ELMA', 'ARMUT']
liste3=["abc" for _ in liste]
liste3
    ['abc', 'abc', 'abc', 'abc', 'abc']
liste
    ['Armut', 'elma', 'Karpuz', 'kiraz', 'muz']
liste3=[meyve for meyve in liste if len(meyve)==5]
liste3
    ['Armut', 'kiraz']
# 0'dan 50'ye kadar 7 veya 5'in katı olan sayıları büyükten küçüğe doğru
# bir listeye ekleyen kodu yazalım.
sayilar=[]
for i in range(49,-1,-1):
    if i%5==0 or i%7==0:
        sayilar.append(i)
sayilar
    [49, 45, 42, 40, 35, 30, 28, 25, 21, 20, 15, 14, 10, 7, 5, 0]
sayilar =[i for i in range(49,-1,-1) if i%5==0 or i%7==0]
sayilar
    [49, 45, 42, 40, 35, 30, 28, 25, 21, 20, 15, 14, 10, 7, 5, 0]
# kullanıcıdan alınan bir n sayısına kadar çift sayıların küplerinde bir
# liste list comprehension yöntemi ile elde edelim.

n=int(input("bir sayi giriniz"))
liste=[i**3 for i in range(0,n,2)]
liste

    [0, 8, 64, 216, 512, 1000, 1728]
# 0-10 arasındaki rastgele sayılar kullanılarak 20 elemanlı
# bir liste elde edelim.
import random
help(random.randint)
Help on method randint in module random:
    
    randint(a, b) method of random.Random instance
        Return random integer in range [a, b], including both end points.
liste=[random.randint(0,10) for _ in range(20)]
liste
    [9, 7, 9, 2, 3, 1, 2, 10, 8, 6, 5, 2, 9, 10, 2, 1, 2, 5, 5, 7]

tuple (demet)

a=["muz","elma","armut","karpuz","kiraz"]
type(a)
    list
a=("muz","elma","armut","karpuz","kiraz")
type(a)
    tuple
a[0],a[-1],a[2:4],a[::-1]
('muz',
     'kiraz',
     ('armut', 'karpuz'),
     ('kiraz', 'karpuz', 'armut', 'elma', 'muz'))
a[0]="Muz"
    ---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call last)

    D:\Temps\Temp\ipykernel_3656\1863777897.py in <cell line: 1>()
    ----> 1 a[0]="Muz"
    

    TypeError: 'tuple' object does not support item assignment
type(a)
    tuple
a_list = list(a)
a_list
    ['muz', 'elma', 'armut', 'karpuz', 'kiraz']
a_list[0]="Muz"
a=tuple(a_list)
a
    ('Muz', 'elma', 'armut', 'karpuz', 'kiraz

’)

a=(3,2,1,5,3)
len(a), sum(a),max(a),min(a)

    (5, 14, 5, 1)
a=(1,2,"metin",5.0,True, [1,2,3])
a
    (1, 2, 'metin', 5.0, True, [1, 2, 3])
for i in a:
    print(f"{i} türü:{type(i)}")
    1 türü:<class 'int'>
    2 türü:<class 'int'>
    metin türü:<class 'str'>
    5.0 türü:<class 'float'>
    True türü:<class 'bool'>
    [1, 2, 3] türü:<class 'list'>

in kullanımı

metin="abc"
"a" in metin
    True
liste=[1,2,3,4,5]
3 in liste
    True
tpl=(1,2,3,4,5)
3 in liste
    True
tpl=(1,2,3,4,5)
3 not in liste
    False
a=(1,2,"metin",5.0,True, [1,2,3],"abc","xyzwq",1,"def")
for eleman in a:
    if type(eleman)==str and "e" in eleman:
        print(eleman)
    metin
    def
# a tuple ının 7 elemanının son harfine nasıl ulaşırım.
a[7][-1]
    'q

a="bir metin"
type(a)
    str
a=tuple(a)
a
    ('b', 'i', 'r', ' ', 'm', 'e', 't', 'i', 'n')
a="bir metin"
a=list(a)
a
    ['b', 'i', 'r', ' ', 'm', 'e', 't', 'i', 'n']
b=""
for karakter in a:
    b += karakter
b
    'bir metin

"--".join(a), "".join(a)
    ('b--i--r-- --m--e--t--i--n', 'bir metin')
x = 1,2,3
type(x)
    tuple
x=1,
type(x)
    tuple
x = 8,2,4
a,b,c = x
a,c
    (8, 4)
x= 1, 2, 4, 9, 1, 5
a,b=x

    ---------------------------------------------------------------------------

    ValueError                                Traceback (most recent call last)

    D:\Temps\Temp\ipykernel_3656\4102615415.py in <cell line: 1>()
    ----> 1 a,b=x
    

    ValueError: too many values to unpack (expected 2)
a,*c,b=x
x,a,b,c
    ((1, 2, 4, 9, 1, 5), 1, 5, [2, 4, 9, 1

])

x
    (1, 2, 4, 9, 1, 5

)

a,*c,b,d=x
a,b,d,c
    (1, 1, 5, [2, 4, 9])
x
    (1, 2, 4, 9, 1, 5

)

x.count(1),x.index(9)
    (2, 3

)

a=[4,2,1,2,3,4,5]
b=tuple(i**2 for i in a)
b
    (16, 4, 1, 4, 9, 16, 25)
# b tuple cift elemanlarında yeni bir tuple elde edelim.
c=tuple(i for i in b if i%2==0)
c
    (16, 4, 4, 16

)

set (küme)

a={1,2,3,4,5}
type(a),a
    (set, {1, 2, 3, 4, 5

})

a={1,2,3,4,5,1,4}
a
    {1, 2, 3, 4, 5

}

b={2,3,9,8,4}
a-b
    {1, 5

}

a.union(b), a.intersection(b)
    ({1, 2, 3, 4, 5, 8, 9}, {2, 3, 4

})

a=set()
a.add(1)
a.add(2)
a.add(1)
a
    {1, 2

}

a.remove(1)
a
    {2

}

a={"a",1,1.0,2,7,"abc",1}
a
    {1, 2, 7, 'a', 'abc

’}

a[0]
    ---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call last)

    D:\Temps\Temp\ipykernel_3656\1109539928.py in <cell line: 1>()
    ----> 1 a[0]
    

    TypeError: 'set' object is not subscriptable
x={i**2 for i in range(5)}
x
    {0, 1, 4, 9, 16}

Dictionary (Sözlük)

# sozlukte anahtar:deger seklinde veriler olur
a={"isim":"ali", "numara":123, "bolum":"eem"}
a
    {'isim': 'ali', 'numara': 123, 'bolum': 'eem

’}

a["bolum"],a["isim"]
    ('eem', 'ali

’)

a[0]
    ---------------------------------------------------------------------------

    KeyError                                  Traceback (most recent call last)

    D:\Temps\Temp\ipykernel_3656\1109539928.py in <cell line: 1>()
    ----> 1 a[0]
    

    KeyError: 0
a={"isim":"ali", "numara":123, "bolum":"eem",1:100}
a
    {'isim': 'ali', 'numara': 123, 'bolum': 'eem', 1: 100

}

a[1]
    100
a["ders"]="Programlama"
a["not"]=55
a
  {'isim': 'ali',
     'numara': 123,
     'bolum': 'eem',
     1: 100,
     'ders': 'Programlama',
     'not': 55}
a[0]=500
a
    {'isim': 'ali',
     'numara': 123,
     'bolum': 'eem',
     1: 100,
     'ders': 'Programlama',
     'not': 55,
     0: 500}
# a sozluğündeki eem'nin ortadaki harfine ulaşmak için:
a["bolum"][1]
    'e

a.values()
    dict_values(['ali', 123, 'eem', 100, 'Programlama', 55, 500])
a.keys()
    dict_keys(['isim', 'numara', 'bolum', 1, 'ders', 'not', 0

])

list(a.keys())[2][-1]
    'm'
a.items()
    dict_items([('isim', 'ali'), ('numara', 123), ('bolum', 'eem'), (1, 100), ('ders', 'Programlama'), ('not', 55), (0, 500)])
x,y=(1,2)
y
    2
for key,value in a.items():
    print(f"{key}: {value}")
    isim: ali
    numara: 123
    bolum: eem
    1: 100
    ders: Programlama
    not: 55
    0: 500
for x in a:
    print(x)
    isim
    numara
    bolum
    1
    ders
    not
    0
for x in a:
    print(a[x])
    ali
    123
    eem
    100
    Programlama
    55
    500
aile={
    "baba":{"isim":"ali", "yas":40, "meslek":"öğretmen"},
    "anne":{"isim":"ayşe","yas":35,"meslek":"memur"},
    "cocuk":{"isim":"mehmet","yas":10}
}
aile
    {'baba': {'isim': 'ali', 'yas': 40, 'meslek': 'öğretmen'},
     'anne': {'isim': 'ayşe', 'yas': 35, 'meslek': 'memur'},
     'cocuk': {'isim': 'mehmet', 'yas': 10}}
aile["cocuk"]["isim"]
    'mehmet'
aile["cocuk"]["meslek"]="Öğrenci"
aile
    {'baba': {'isim': 'ali', 'yas': 40, 'meslek': 'öğretmen'},
     'anne': {'isim': 'ayşe', 'yas': 35, 'meslek': 'memur'},
     'cocuk': {'isim': 'mehmet', 'yas': 10, 'meslek': 'Öğrenci'}}
for kisi in aile:
    print(aile[kisi]["isim"])
    ali
    ayşe
    mehmet
for bilgi in aile.values():
    print(bilgi["isim"])
    ali
    ayşe
    mehmet
x={1,2,3}
type(x)
    set
x={1:2}
type(x)
    dict
x=set()
# sayılar ve kareleri

sayilar_ve_kareleri = {}
for i in range(1,10):
    sayilar_ve_kareleri[i]=i**2
sayilar_ve_kareleri
    {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81

}

metin="abcdeabddfaaabcbdbddeebdac"

harf_sayilari = dict() # {} yapabilirdik

for harf in metin:
    if harf not in harf_sayilari:
        harf_sayilari[harf]=1
    else:
        harf_sayilari[harf] += 1
harf_sayilari
    {'a': 6, 'b': 6, 'c': 3, 'd': 7, 'e': 3, 'f': 1}
for harf, sayi in harf_sayilari.items():
    print(f"{harf} harfinden {sayi} tane var")
    a harfinden 6 tane var
    b harfinden 6 tane var
    c harfinden 3 tane var
    d harfinden 7 tane var
    e harfinden 3 tane var
    f harfinden 1 tane var
for harf in harf_sayilari:
    print(f"{harf} harfinden {harf_sayilari[harf]} tane var")
    a harfinden 6 tane var
    b harfinden 6 tane var
    c harfinden 3 tane var
    d harfinden 7 tane var
    e harfinden 3 tane var
    f harfinden 1 tane var