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
- 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'
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)
- 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]
# 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