Dersler

View on GitHub

EEM-241 İleri Düzey Programlama

2024-2025 Güz Dönemi

Ders 8 - Python Programlama

tuple (demet)

a=[1,2,3]
type(a)
    list
b=(1,2,3)
type(b)
    tuple
len(b)
   3
b[0]=5
# bu kod hata verir. Çünkü demet türüne atama yapılamaz.
a=(3,4,5,6,7,8,9,10)
len(a)
    8
a[0], a[1], a[2:5],a[-1], a[:3], a[:-3:-1], a[::2]
    (3, 4, (5, 6, 7), 10, (3, 4, 5), (10, 9), (3, 5, 7, 9))
min(a), max(a), sum(a), len(a)
    (3, 10, 52, 8)
a=(1,5,"abc",3,True,(8,9),[1,2,3])
a
    (1, 5, 'abc', 3, True, (8, 9), [1, 2, 3])
for i in a:
    print(f"{i}: {type(i)}")
    1: <class 'int'>
    5: <class 'int'>
    abc: <class 'str'>
    3: <class 'int'>
    True: <class 'bool'>
    (8, 9): <class 'tuple'>
    [1, 2, 3]: <class 'list'>
toplam=0
for i in a:
    if type(i)==int:
        toplam += i
print("tuple icindeki tamsayıların toplamı:", toplam)
    tuple icindeki tamsayıların toplamı: 9
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'

tuple tanımlama ve tuple elemanlarını atama

1,2
    (1, 2)
a,b=1,2
a
    1
b
    2
a,b=(1,2)
a
    1
a,b=(1,2,3)
# bu kod hata verir.
a,*b=(1,2,3)
a,b
    (1, [2, 3])
a,b,c,*d=1,2,3,4,5,6,7,8,9,10
d
    [4, 5, 6, 7, 8, 9, 10]
a,*b,c,d=1,2,3,4,5,6,7,8,9,10
b
    [2, 3, 4, 5, 6, 7, 8]
a=1
a
    1
a=1,
a
    (1,)
a=1,2,3,4,5,6,3,8,9,10
a.count(3)
    2
a.index(5)
    4
a
    (1, 2, 3, 4, 5, 6, 3, 8, 9, 10)
b=tuple(i for i in a if i%2==1)
b
    (1, 3, 5, 3, 9)

set (küme)

a=[1,2]
type(a)
    list
a=(1,2)
type(a)
    tuple
a={1,2}
type(a)
    set
a={1,2,3,3,3,3,1,2,3,4}
a
    {1, 2, 3, 4}
a=[1,2,2,3,3,1,2,5]
a
    [1, 2, 2, 3, 3, 1, 2, 5]
a=list(set(a))
a
    [1, 2, 3, 5]
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.intersection(b)
    {4, 5, 6}
a.union(b)
    {1, 2, 3, 4, 5, 6, 7, 8, 9}
a-b
    {1, 2, 3}
a.difference(b)
    {1, 2, 3}
b-a
    {7, 8, 9}
a.symmetric_difference(b)
    {1, 2, 3, 7, 8, 9}
{i for i in range(2,15,3)}
    {2, 5, 8, 11, 14}
a=set()
a.add(1)
a.add(2)
a.add(1)
a={"a",1,1.0,2,7,"abc",1}
a
    {1, 2, 7, 'a', 'abc'}
a[0]
# hata verir, küme indekslenebilir değildir.

Dictionary (Sözlük)

a={"isim":"ali", "numara":123, "bolum":"eem"}
a
    {'isim': 'ali', 'numara': 123, 'bolum': 'eem

’}

a["bolum"],a["isim"]
    ('eem', 'ali')
a[0]
# 0. anahtar sözlükte tanımlı olmadığından hata verir.
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}
x={i:i*i for i in range(1,10)}
x
{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

Türlerin bool karşılıkları

bool(1),bool(0),bool(-1),bool([0]),bool([]),bool(""),bool("0")

    (True, False, True, True, False, False, True)

any all

a=[True, True,False]
all(a), any(a)
    (False, True)
a=[1,2,1,4,2,0,1,2,3]

all(a)
    False
sifir_var=False
for sayi in a:
    if sayi==0:
        sifir_var=True
        break
sifir_var

    True
if all(a):
    print("listenin icinde 0 yok")
else:
    print("listenin icinde 0 var")
    True
a=[1,2,1,4,2,0,1,6,2,3]
if any([i>5 for i in x]):
    print("listede 5'ten büyük en az 1 sayı var")
    [False, False, False, False, False, False, False, True, False, False]

enumerate

a="bu bir metindir."
i=0
for kar in a:
    print(f"{i}:{kar}", end=" ")
    i += 1
    0:b 1:u 2:  3:b 4:i 5:r 6:  7:m 8:e 9:t 10:i 11:n 12:d 13:i 14:r 15:. 
for i, kar in enumerate(a):
    print(f"{i}:{kar}", end=" ")
0:b 1:u 2:  3:b 4:i 5:r 6:  7:m 8:e 9:t 10:i 11:n 12:d 13:i 14:r 15:. 
list(enumerate(a, start=1))
     [(1, 'b'),
     (2, 'u'),
     (3, ' '),
     (4, 'b'),
     (5, 'i'),
     (6, 'r'),
     (7, ' '),
     (8, 'm'),
     (9, 'e'),
     (10, 't'),
     (11, 'i'),
     (12, 'n'),
     (13, 'd'),
     (14, 'i'),
     (15, 'r'),
     (16, '.')]
a=[1,4,3,2,1]
b=[3,2,2,3,4]
c=[]
for i in range(len(a)):
    c.append(a[i]+b[i])
c
    [4, 6, 5, 5, 5]
i=0
c=[]
for sayi in a:
    c.append(sayi+b[i])
    i+=1
c
    [4, 6, 5, 5, 5]
c=[]
for i, sayi in enumerate(a):
    c.append(sayi+b[i]) 
c
    [4, 6, 5, 5, 5]

zip fonksiyonu

c=[]
for i,j in zip(a,b):
    c.append(i+j) 
c
    [4, 6, 5, 5, 5]
[i+j for i,j in zip(a,b)]
print(a)
print(b)
    [1, 4, 3, 2, 1]
    [3, 2, 2, 3, 4]
list(zip(a,b))
    [(1, 3), (4, 2), (3, 2), (2, 3), (1, 4)]
#a ve b listesinin elemanlarını kullanarak bir sozluk yapalım
a=[1, 4, 3, 2, 7]
b=[3, 2, 2, 3, 4]
c=dict()
for i,j in zip(a,b):
    c[i]=j
c
    {1: 3, 4: 2, 3: 2, 2: 3, 7: 4}
{i:j for i,j in zip(a,b)}
    {1: 3, 4: 2, 3: 2, 2: 3, 7: 4}
{x[0]:x[1] for x in zip(a,b)}
    {1: 3, 4: 2, 3: 2, 2: 3, 7: 4}
kisiler=["mehmet","ali","ahmet","ayşe"]
sehirler = ["isparta","burdur","antalya","denizli"]
i=0
for i in range(len(kisiler)):
    print(f"{kisiler[i]}: {sehirler[i]}")
    mehmet: isparta
    ali: burdur
    ahmet: antalya
    ayşe: denizli
for i, kisi in enumerate(kisiler):
    print(f"{kisi}: {sehirler[i]}")
    mehmet: isparta
    ali: burdur
    ahmet: antalya
    ayşe: denizli
for kisi, sehir in zip(kisiler,sehirler):
    print(f"{kisi}: {sehir}")
    mehmet: isparta
    ali: burdur
    ahmet: antalya
    ayşe: denizli

kutuphanelerden fonksiyon kullanma

import math

dir(math)
# bu komut ile matematik kütüphanesindeki fonksiyonlar listelenir.
help(math.sin)
    Help on built-in function sin in module math:
    sin(x, /)
        Return the sine of x (measured in radians).
math.e, math.pi
    (2.718281828459045, 3.141592653589793)
math.sqrt(16)
    4.0
from math import pi
pi
    3.141592653589793
import math as matematik
matematik.pi
    3.141592653589793
from math import pi as pi_sayisi
pi_sayisi
    3.141592653589793
from math import pi as pi_sayisi, e as e_sayisi
from math import sin, pi, radians
for derece in range(0,360,30):
    # derece_rad = (derece/180)*pi
    derece_rad = radians(derece)

    print(f"{derece:3} : {sin(derece_rad):.2f}")
      0 : 0.00
     30 : 0.50
     60 : 0.87
     90 : 1.00
    120 : 0.87
    150 : 0.50
    180 : 0.00
    210 : -0.50
    240 : -0.87
    270 : -1.00
    300 : -0.87
    330 : -0.50
from math import gcd as ebob
ebob(21,14)
    7
import math
math.factorial(100)
    93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000