You are on page 1of 291

Python ile Programlamaya Giriş

Python-Giriş

Guido van Rossum

Hollandalı bir bilgisayar programcısı olan Guido


Python programlama dilini yazmıştır. Kendisi
Python programlama dilinin geliştirilmesini
sağlamakta ve geliştirici gruba liderlik etmeyi
sürdürmektedir.

0-30
Python-Giriş
• Python, nesne yönelimli, yorumlamalı, birimsel
ve etkileşimli yüksek seviyeli bir programlama
dilidir.
• Kullanımı kolay ve hızlıdır.
• Kodsal söz dizimi daha okunaklı ve daha
temizdir.
• Ayrı bir derleyiciye ihtiyaç duymaz.

0-31
Python-Kurulum

• https://www.python.org/downloads/

• Python 3.10.0 (En güncel sürüm)

0-32
Python-Programları Kaydetme ve
Çalıştırma
Python programlama dilini öğrenmeye yeni
başlayan Windows kullanıcıları için en uygun
metin düzenleyici IDLE’dır. Başlat > Tüm
Programlar > Python3.10 > IDLE (Python
GUI) yolunu takip ederek IDLE’a
ulaşabilirsiniz.

0-33
Python
IDLE’ı açtığınızda şöyle bir ekran karşınıza
çıkacaktır:

0-34
Python
Dikkat ederseniz beyaz ekranın en sonunda
bordo renkli bir >>> işareti var.

Burası aslında Python’ın etkileşimli


kabuğudur. Yani o siyah etkileşimli kabuk
ekranında ne yapabilirseniz burada da aynı
şeyi yapabilirsiniz. Ama şu anda IDLE’ın bu
özelliğini değil, metin düzenleyici olma
özelliğini kullanacağız.

0-35
Python
Bir önceki ekranda sol üst köşede File
[Dosya] menüsü vardı. Oraya tıklayın ve
menü içindeki New Window [Yeni Pencere]
düğmesine basın. Şöyle bir ekran karşınıza
çıkacaktır:

0-36
Python
İşte Python kodlarımızı bu beyaz ekrana
yazacağız. Şimdi bu ekrana şu satırları
yazalım:

0-37
Python
Bu noktadan sonra yapmamız gereken şey
dosyamızı kaydetmektir.
Bunun için File > Save as yolunu takip
ederek programımızı masaüstüne
randevu.py adıyla kaydediyoruz.

0-38
Python
Şu anda programımızı yazdık ve kaydettik.
Artık programımızı çalıştırabiliriz.
Bunun için IDLE’da Run > Run Module
yolunu takip etmeniz veya kısaca F5 tuşuna
basmanız yeterli olacaktır. Bu iki yöntemden
birini kullanarak programınızı
çalıştırdığınızda şöyle bir çıktı elde
edeceksiniz:

0-39
Python

02.01.2012 Pazartesi öğleden sonra buluşalım.

0-40
Python
İlk Python programınızı yazıp çalıştırdık.
Eğer çalıştıramadıysanız veya yukarıdaki
çıktı yerine bir hata mesajı aldıysanız
muhtemelen kodları yazarken yazım hatası
yapmışsınızdır. Kendi yazdığınız kodları
buradaki kodlarla dikkatlice karşılaştırıp
tekrar deneyin.

0-41
Python Giriş-Çıkış İşlem ve Komutları

• Input Komutu

• Print Komutu

0-42
Input Fonksiyonu:
Kullanıcıdan bilgi almak için kullanılır.
Ör: Kullanıcıya ismini sorup “Merhaba İsim” yazdıran kodlar.
isim = input("İsminiz nedir? ")
print("Merhaba", isim)
Çıktı:
İsminiz nedir? Niyazi
Merhaba Niyazi

0-43
Input Fonksiyonu:
Ör: Kullanıcın girdiği iki sayıyı toplayan kodlar:
deger1 = int(input("İlk sayıyı giriniz:"))
deger2 = int(input("İkinci sayıyı giriniz:"))
toplam = deger1 + deger2
print(deger1, "+", deger2, "=", toplam)
Çıktı:
İlk sayıyı giriniz: 5
İkinci sayıyı giriniz: 52
5 + 52 = 57

0-44
İnput Komutunun Kullanımı

Girdi komutu Açıklama

Bu kullanım ile klavyeden girdiğimiz veri,


ad=input('Adınız? ')
string tipindeki ad değişkeninde tutulur.

okulno=int(input('OkulNumaranız?')) Bu kullanım ile girdiğimiz veri int tipindeki


okulno değişkeninde tutulur.

Bu kullanım ile girdiğimiz veri float


faiz=float(input(' FaizOranınız? '))
tipindeki faiz değişkeninde tutulur.

0-45
Print Fonksiyonu:
Ekranda görüntülenmesini istediğimiz tüm bilgi ya
da sonuçları ekrana yazdırabilmek için print()
fonksiyonunu kullanırız. Parantez içinde yazılan
bilgilerin her birine parametre deriz. Birden fazla
bilgi (parametre) yazacaksak aralarına virgül
koymamız gerekir.

0-46
Print Fonksiyonu:
Örneğin:
>>>print(“Merhaba Dünya”)
Merhaba Dünya
>>>print(“Toplamı :”, 10+23)
Toplamı : 33
>>>a=4
>>>a = 5
>>>print(a)
5

0-47
Print Fonksiyonu:
Örnek:
>>>b ="4"
>>>c=4
>>>d=b+c
>>>print(d)

0-48
Print Fonksiyonu:
Örnek:
>>>b ="4"
>>>c=4
>>>d=b+c
>>>print(d)
Hata verir. b string c integer sayı. ikisi toplanamaz.
>>>print(“Bilgisayar”,”Bilimi”,”Kodlama”)
Bilgisayar Bilimi Kodlama
→Açıklaması: Virgüller ifadelerin arasına birer boşluk
bırakır.

0-49
Print Komutunun Kullanımı

Çıktı komutu Açıklama

print(" Python ") " " arasındaki mesajı ekrana yazar.

print('K', 'O', 'D') Her bir karakter arasında boşluk bırakarak


yazar.

sep( ) fonksiyonu ekrana basılacak her


print('K', 'O', 'D', sep='-')
değerin arasına '-' ile belirtilen karakteri koyar.

x=10;
x tamsayı tipindedir.
print(x)

x=y=z=" Merhaba " Birden fazla değişkene aynı değer ataması


print(x,y,z) yapabilir.

0-50
Print Komutunun Kullanımı

Çıktı komutu Açıklama

x=5; y=7 Ekran Çıktısı:


print(x, '*', y, '=', x*y ) 5 * 7 = 35

x=5;y=7 Ekran Çıktısı:


print(f"{x}*{y}=",x*y) 5*7= 35

x,y=5,7 Ekran Çıktısı:


print('{0}*{1}={2}'.format(x,y,x*y)) 5*7= 35

Ekran Çıktısı:
print(" Python "*3 )
Python Python Python

0-51
Print Komutunun Kullanımı
isim = 'Buğra'
yas = 18
print(f'Onun adı {isim} ve o {yas} yaşında.')
#Onun adı Buğra ve o 18 yaşında.

print('Onun adı', isim, 've o', yas, 'yaşında.')


#Onun adı Buğra ve o 18 yaşında.

0-52
Yorum Satırları
# tek bir satır için

çoklu satırlar için

""" (Üç tırnak)

"""

0-53
Python Giriş-Çıkış İşlem Örneği
Örnek 1: Bir karenin çevresini ve alanını hesaplayan
programı yazalım.
Karenin çevresi = 4a, Karenin Alanı=a2

0-54
Python Giriş-Çıkış İşlem Örneği
Örnek 1: Bir karenin çevresini ve alanını hesaplayan programı
yazalım.
Karenin çevresi = 4a, Karenin Alanı=a2

a=int(input('Kenar uzunluğu:'))

Cevre=4*a
Alan=a**(2)

print(" Karenin Cevresi= ", Cevre)


print(" Karenin Alanı= ", Alan) 0-55
Python Giriş-Çıkış İşlem Örneği
Örnek 2: Bir küpün alanını hesaplayan programı
yazalım.

0-56
Python Giriş-Çıkış İşlem Örneği
Örnek 2: Bir küpün alanını hesaplayan programı
yazalım.
Küpün alanı = 6a2

a=int(input('Kenar uzunluğu:'))

Alan=6*a**2

print(" Küpün Alanı= ", Alan)

0-57
Python Giriş-Çıkış İşlem Örneği
Örnek 3: Bir dairenin çevresini ve alanını
hesaplayan programı yazalım.

0-58
Python Giriş-Çıkış İşlem Örneği
Örnek 3:
r = int(input("Dairenizin yarı çapını giriniz : "))
pi=3.14
alan =round(pi*(r**(2)),1)
cevre = round(pi*2*r,1)
print("Dairenizin alanı : " , alan)
print("Dairenizin çevresi : " , cevre)

0-59
Python Giriş-Çıkış İşlem Örneği
Örnek 4: Bir dikdörtgenin çevresini ve alanını
hesaplayan programı yazalım.
Dikdörtgen çevresi = 2x+2y, Dikdörtgenin Alanı=xy

0-60
Python Giriş-Çıkış İşlem Örneği
Örnek 4:
x = int(input("Dikdörtgeninizin uzun kenarını giriniz : "))
y = int(input("Dikdörtgeninizin kısa kenarını giriniz : "))
alan = (x*y)
cevre = ((x*2)+(y*2))
print ("Dikdörtgeninizin alanı = ",alan)
print ("Dikdörtgeninizin çevresi = ",cevre )

0-61
Python
int() : Sayı değerli bir karakter dizisini veya kayan
noktalı sayıyı tamsayıya (integer) çevirir.
float() : Sayı değerli bir karakter dizisini veya
tamsayıyı kayan noktalı sayıya (float) çevirir.
str() : Bir tamsayı veya kayan noktalı sayıyı
karakter dizisine (string) çevirir.
complex() : Herhangi bir sayıyı veya sayı değerli
karakter dizisini karmaşık sayıya (complex) çevirir.

0-62
Parametreler
\n parametresi: Bu parametreye newline adı verilir.
print() fonksiyonu içerisinde kullanıldığında ilgili
yerden bir alt satıra geçiş yapar.
Ör:
>>>print("bilgisayar bilimi")
bilgisayar bilimi

0-63
Parametreler
→Normal olarak çıktımız bilgisayar, boşluk
karakteri ve bilimi şeklinde. Ancak \n karakterini
araya koyduğumuzda ilgili yerden bir alt satıra
geçiş yapacaktır. Yukarıdaki örneği bir de şu
şekilde yazalım.
>>>print("bilgisayar\nbilimi")
bilgisayar
bilimi

0-64
Parametreler
→Görüldüğü üzere \n parametresini bilgisayar
ifadesinin hemen sonuna koyduk ve böylece tam
da oradan satır başına geçiş yapmış olduk.
\t parametresi: print() fonksiyonu içerisinde
kullanıldığında ilgili yerden bir tab kadar boşluk
bırakır.
Ör:
>>>print("Ocak\tŞubat\tMart")
Ocak Şubat Mart

0-65
Parametreler
sep parametresi: İngilizcede separator (ayırıcı,
ayraç) kelimesinin kısaltmasıdır.
Ör:
>>>print("www.", "google.", "com", sep="+")
www.+google.+com
>>>print(“30”,”04”,”2018”, sep=”/”)
30/04/2018

0-66
Parametreler
FORMATLAMA: Bir stringin içine önceden
tanımlanan bir veri veya değişken yerleştirebiliriz.
Bu işleme formatlama denir. Bunun için süslü
parantez kullanmalıyız.
Ör:
a=3
b=4
print("{}+{}'ün toplamı {}'dir".format(a,b,a+b))
‘3+4'ün toplamı 7'dir

0-67
Python ile Programlamaya Giriş
Python’da Kullanılan Anahtar Kelimeler
Komut İşlev
and Mantıksal operatördür. ‘VE’ anlamına gelir.

as Bir modül veya nesneyi farklı bir isimle temsil etmek için kullanılır.

break Bir döngüden çıkmak için kullanılır.

continue Bir döngüde kendinden sonraki satıra geçmek için kullanılır.

def Fonksiyonları tanımlamada kullanılır.

del Silme işlemi için kullanılır.

if ‘EĞER’ anlamında kullanılan karar yapısıdır.

elif ‘DEĞİLSE EĞER’ anlamında kullanılan if sorgusudur.

‘DEĞİLSE’ anlamında kullanılan koşul sorgusudur.


else
0-20
Python’da Kullanılan Anahtar Kelimeler
Komut İşlev
is ‘Eşit mi?’ anlamında kullanılan sorgu operatörüdür.

lambda Tek satırlık fonksiyonları tanımlar.

in Bir elemanın verilen liste/küme içerisinde olup/olmadığını sorgular.

not ‘DEĞİL’ anlamında kullanılan mantıksal operatördür.

or Mantıksal operatördür. ‘VEYA’ anlamına gelir.

range Verilen aralıkta değer üretmeyi sağlar.

return Bir fonksiyonun geriye döndüreceği değeri üretmeyi sağlar.

for Tekrar sayısının baştan belli olduğu döngü tipidir.

while Koşul doğru olduğu sürece döngü içerisindeki işlemleri tekrarlar.


0-21
Çıkış Karakterleri

Basılacak Çıkış
Örnek Kod Ekran Çıktısı
Karakter Karakteri
' (Tek tırnak) \' print(" Ali\'nin Evi ") Ali'nin Evi

'' (Çift tırnak) \'' print(" Ali: \"Merhaba\" ") Ali: "Merhaba"

\ (Ters kesme) \\ print(" \\ ") \

x
Bir alt satıra geç \n print("x\ny")
y
x y
Bir tab boşluk \t print("x\ty")

Backspace tuşu \b print("15\b7") 17

Alarm \a

0-22
Python Değişken Tanımlamaları ve Veri Tipleri

Python’da diğer dillerden farklı olarak veri


tipinin belirtilmesi gerekmez.
Her değişkenin belirli bir veri tipine (bool, int,
float, complex, str gibi) sahip olduğu
hatırlanmalıdır.
Python veri tipinin tanımlamasını otomatik
olarak yapıp kod yazımını basit hale getirir.

0-23
Python Değişken Tanımlamaları ve Veri Tipleri

Python’da mantıksal sorgulamalar bool veri


tipinde; string ifadeler str veri tipinde;
sayısal veriler tamsayılar için int,
kesirli sayılar için float,
karmaşık sayılar için complex
veri tipleri kullanılır.

Python’da bir değişkenin veya fonksiyonun veri


tipini öğrenmek için type() fonksiyonu kullanılır.
0-24
Python Değişken Tanımlamaları ve Veri Tipleri

Değişken
Veri Tipi Açıklama
tanımlama
x=36 int Tam sayı tipinde x isimli bir değişken tanımlandı.
Tam sayı tiplerinde x,y,z isimli değişkenler
x=y=z=36 int
tanımlandı.

a=3.5 float Kesirli sayı tipinde a isimli bir değişken tanımlandı.

Aynı satırda birçok değişkene farklı türde değer


a,b=3,5.3 int, float
ataması yapılabilir.
Aynı satırda birçok komut yazılacaksa, komut
a=3;b=5.3 int, float
satırları arasına ; koyulur.
Karmaşık sayı tipinde c isimli bir değişken
tanımlandı.
c=1+2j complex
c karmaşık sayısının gerçel kısmı için c.real
c karmaşık sayısının sanal kısmı için c.imag
komutları kullanılır.
0-25
Python Değişken Tanımlamaları ve Veri Tipleri

Değişken Veri
Açıklama
tanımlama Tipi
X bool veri tipinde olup, bu veri tipindeki
değişkenler True/False değerini alır.

a=30
X=True bool
b=40
print(a==b)

Yukarıdaki komut False sonucunu verir.


İsim="Mahmut"
İsim='Mahmut' Tek tırnak veya çift tırnak arasına yazılan ifadeler
str
İsim="""Mahmut""" string (str) tipinde kabul edilir.
İsim='''Mahmut'''

0-26
Python Değişken Tanımlamaları ve Veri Tipleri

Kod Ekran Çıktısı:

print(type(3.5)) <class 'float'>

a=15 <class 'int'>


print(type(a))

0-27
Değişkenlere İsim Verme Kuralları

Dikkat Edilmesi Gereken Kurallar

1. Tanımlanan değişkenin ilk karakteri mutlaka harf olmalıdır.

2. Değişken adlarında alt çizgi ‘_’ dışında, boşluk veya diğer özel karakterler
bulunmamalıdır.
(. , ? ! : ; @ + - = % & karakterleri gibi. )
3. Python değişken isimlerinde Türkçe karakter kabul etse de, değişken
adlandırılırken Türkçe karakter kullanılmaması gerekir.

4. Python diline ait komutlar, değişken ismi olarak kullanılamaz.

5. Bu program büyük küçük harf ayrımı yapan bir dildir.

0-28
İki değişkenin İçeriğini Birbirine Aktarma
İki değişkenin içeriğini birbirine aktarımına yer
değiştirme denir.
Python’da değişkenler doğrudan birbirine
aktarılabiliyorken, diğer programlama
dillerinde bu işlem için üçüncü bir değişken
gerekir.
Python’da ise bu işlem tek satır kod ile
çözülebilir.

0-29
İki değişkenin İçeriğini Birbirine Aktarma

Örnek:

x=10; y=25; x,y=y,x

0-30
Veri Tipi Dönüşümü
Değişkenlere değer aktarırken veri tipi
uyumuna dikkat etmek gerekir.

int( ) : String veya float veri tipini int veri tipine


dönüştürür.
float( ) : String veya int veri tipini float veri
tipine dönüştürür.
str( ) : İfadeyi string veri tipine dönüştürür.

0-31
Veri Tipi Dönüşümü Örnekleri

Kod Ekran Çıktısı

pi=int(3.14) 3
print(pi)

x=100 100.0
print(float(x))

Pi=3.14 Pi sayisi:3.14
print("Pi sayisi:"+str(Pi))

0-32
Enum Sabiti
Kullanıcının tanımladığı sıralı semboller
kümesidir.
sabit_adi=Enum(‘sabit_adi’,[X,Y,Z,…])

Eğer tanımlama yapılırken değişkenlere bir


değer ataması yapılmazsa ilk değişkenin
değeri ‘1’ olarak kabul edilir.

0-33
ÖRNEK:
Bir yarı-yılın aylarının rakamsal karşılığını veren
Python programını yazınız.

OCAK:1
ŞUBAT:2
MART:3
NİSAN:4
MAYIS:5
HAZİRAN:6

0-34
ÇÖZÜM:
from enum import Enum
aylar=Enum('aylar',['OCAK','ŞUBAT','MART','NİSAN',
'MAYIS','HAZİRAN'])
print("OCAK:",aylar.OCAK.value)
print("ŞUBAT:",aylar.ŞUBAT.value)
print("MART:",aylar.MART.value)
print("NİSAN:",aylar.NİSAN.value)
print("MAYIS:",aylar.MAYIS.value)
print("HAZİRAN:",aylar.HAZİRAN.value)

0-35
EKRAN ÇIKTISI:
OCAK: 1
ŞUBAT: 2
MART: 3
NİSAN: 4
MAYIS: 5
HAZİRAN: 6

0-36
ÖRNEK:
Dünya üzerindeki kıtaları yüzölçümlerine göre
büyükten küçüğe sıralayan Python programını
yazınız.

0-37
ÇÖZÜM:
from enum import Enum
kıtalar=Enum('kıtalar',['Asya','Afrika','KuzeyAmerika',
'GüneyAmerika', 'Antartika', 'Avrupa', 'Avustralya'])
print("Asya:",kıtalar.Asya.value)
print("Afrika:", kıtalar.Afrika.value)
print("KuzeyAmerika:", kıtalar.KuzeyAmerika.value)
print("GüneyAmerika:", kıtalar.GüneyAmerika.value)
print("Antartika:", kıtalar.Antartika.value)
print("Avrupa:", kıtalar.Avrupa.value)
print("Avustralya:", kıtalar.Avustralya.value)
0-38
EKRAN ÇIKTISI:
Asya: 1
Afrika: 2
KuzeyAmerika: 3
GüneyAmerika: 4
Antartika: 5
Avrupa: 6
Avustralya: 7

0-39
Python - Operatörler
*Aritmetiksel Operatörler
*Mantıksal Operatörler
*Karşılaştırma Operatörler
*Bit İşlem Operatörler

Operatörler ile işlem yaparken işlem önceliğine


dikkat edilmelidir.

Python’da her bir operatörün bir fonksiyon eşdeğeri


vardır.
0-40
Aritmetiksel İşlem Operatörleri

Operatör Tipi Operatör Kullanımı Fonksiyon Eşdeğeri

Toplama + x+y operator.add(x,y)

Çıkarma - x-y operator.sub(x,y)

Bölme / x/y operator.truediv(x,y)

Tamsayı
// x//y operator.floordiv(x,y)
Bölme

Üs Alma ** x**y operator.pow(x,y)

Mod Alma % x%y operator.mod(x,y)

Çarpma * x*y operator.mul(x,y)

Matris
@ x@y operator.matmul(x,y)
Çarpma
0-41
Karşılaştırma Operatörleri

Operatör Tipi Operatör Kullanımı Fonksiyon Eşdeğeri

Büyük > x>y operator.gt(x,y)

Küçük < x<y operator.lt(x,y)

Büyük Eşit >= x>=y operator.ge(x,y)

Küçük Eşit <= x<=y operator.le(x,y)

Eşit == x==y operator.eq(x,y)

Eşit Değil != x!=y operator.ne(x,y)

Not: Bu fonksiyonlar operatör modülü içerisinde


yer aldığından import operator ile programa
eklenmelidir. 0-42
En Büyük Değer ve En Küçük Değeri Bulma

Python
İşlem Gösterim Sonuç
Eşdeğeri

Büyük (max) max max(4,8) 8

Küçük (min) min min(6,5) 5

0-43
Bit İşlem Operatörleri

Operatör Tipi Operatör Kullanımı Fonksiyon Eşdeğeri

Sola 1 bit kaydırma << x<<y operator.lshift(x,y)

Sağa 1 bit kaydırma >> x>>y operator.rshift(x,y)

Bitsel VE (AND) & x&y operator.and_(x,y)

Bitsel VEYA (OR) | x|y operator.or_(x,y)

Bitsel ÖzelVEYA
^ x^y operator.xor(x,y)
(XOR)

Bitsel DEĞİL (NOT) ~ x~y operator.invert(x,y)

0-44
Mantıksal Operatörler

Operatör Tipi Operatör

Mantıksal VEYA OR

Mantıksal VE AND

Mantıksal DEĞİL NOT

0-45
Örnekler
İşlem Adı Örnek Sonuç

String Çarpma print("#"*5) #####

24/5 4.8
Bölme
24//5 4

Mod Alma 15%4 3


5**2 25
Üs Alma
math.pow(5,2) 25.0
25**0.5 5.0
Karekök Alma
math.sqrt(25) 5.0

sqrt, pow gibi fonksiyonları kullanmak için


import math komutu ile math kütüphanesi
eklenmelidir.
0-46
Aritmetiksel Atama Operatörleri

İşlem Adı Operatör Kullanımı

X=Y=5
X=5
Ata = (Çoklu atama
Y=5
yapılabilir)

Topla ve ata += X+=Y X=X+Y

Çıkar ve ata -= X-=Y X=X-Y

Çarp ve ata *= X*=Y X=X*Y

Böl ve ata /= X/=Y X=X/Y

Kalanı al ve ata %= X%=Y X=X%Y

Tamsayı böl ve ata //= X//=Y X=X//Y

0-47
ÖRNEK 1:
X=Y=5
X*=6
Y/=X
print("X=",X,"\tY=",Y)

0-48
ÇÖZÜM 1:
X=Y=5
X*=6
Y/=X
print("X=",X,"\tY=",Y)

X= 30 Y= 0.16666666666666666

0-49
ÖRNEK 2:
x,y,z=8,4,3;
print(x%y);
print(x%z);
print(y%z);

0-50
ÇÖZÜM 2:
x,y,z=8,4,3;
print(x%y);
print(x%z);
print(y%z);

0
2
1

0-51
Arttırma (++) ve Azaltma (--)
Operatörleri
Python dilinde kullanılmaz.

0-52
ÖRNEK 3:
Aşağıdaki Program parçasının ekran çıktısı ne
olur?

a=b=6
c=3
c/=b
print(a,b,c);
a-=c
c*=4
print(a,b,c);
0-53
EKRAN ÇIKTISI:

6 6 0.5

5.5 6 2.0

0-54
ÖRNEK 4:
Aşağıdaki program parçalarının ekran çıktıları ne
olur?
Karşılaştırma Sonuç

print(6<3)

print(5>8)

print(10<=10)

print(12>=15)

print(1==1)

print(0!=0)

0-55
ÖRNEK 4:
Aşağıdaki program parçalarının ekran çıktıları ne
olur?
Karşılaştırma Sonuç

print(6<3) False

print(5>8) False

print(10<=10) True

print(12>=15) False

print(1==1) True

print(0!=0) False

0-56
Mantıksal Operatörler

İşlem Operatör Örnek Kullanımı Ekran Çıktısı

X=4; Y=Z=6
Mantıksal VE and
(X>Y) and (Z>X)

Mantıksal VEYA or (X>Y) or (Z>X)

Değil not not(X>Y)

0-57
Mantıksal Operatörler

İşlem Operatör Örnek Kullanımı Ekran Çıktısı

X=4; Y=Z=6
Mantıksal VE and False
(X>Y) and (Z>X)

Mantıksal VEYA or (X>Y) or (Z>X) True

Değil not not(X>Y) True

0-58
ÖRNEK 5:
Aşağıdaki program parçalarının ekran çıktıları ne
olur?
Karşılaştırma Sonuç

print(not(5<3))

print(5>=8)

print(7<=10 and 12>13)

print(12!=15)

print(not(3==5))

print(7>=10 or 4>6)

0-59
ÇÖZÜM 5:
Aşağıdaki program parçalarının ekran çıktıları ne
olur?
Karşılaştırma Sonuç

print(not(5<3)) True

print(5>=8) False

print(7<=10 and 12>13) False

print(12!=15) True

print(not(3==5)) True

print(7>=10 or 4>6) False

0-60
ÖRNEK 6:
Kullanıcının girdiği bir sayının tek mi çift mi olduğunu
bulan Python programını yazınız.

0-61
ÇÖZÜM 6:
Kullanıcının girdiği bir sayının tek mi çift mi olduğunu
bulan Python programını yazınız.

X=int(input('X='))
print(X%2 and "Tek" or "Çift")

0-62
Python Dilinde Temel İşlemler
Bit İşlem Operatörleri
Bu operatörler, verilen değerin ikili tabandaki bit
karşılığını alır. Bu bitler üzerinde mantıksal işlem
gerçekleştirirler. Bit işlemlerinde kullanılan
değişkenler tamsayı(int) veri tipinde olmalıdır. Çünkü
diğer veri tipleri kullanılmaz.

0-64
Bit İşlem Operatörleri
Karşılatırma Python
İşlem Operatör Örnek Sonuç
Notasyonu Notasyonu
Bitsel VE
& x VE y x&y 7&9 1
(AND)
Bitsel
VEYA | x VEYA y x|y 7|9 15
(OR)
Bitsel
ÖzelVEYA ^ x ÖzelVEYA y x^y 7^9 14
(XOR)
Bitsel
DEĞİL ~ Ters Çevir x ~x ~7 -8
(NOT)
Sola 1 bit
<< x << basamak x << değer 7 << 1 14
kaydırma
Sağa 1 bit
>> x >> basamak x >> değer 7 >> 1 3
kaydırma
0-65
Tablo: (Onlu Sistem-İkili Sistem Karşılıkları)

10000000 (-128) 1 byte alana yazılabilecek en küçük


negatif sayıdır.
0-66
Bit İşlem Operatörlerinin Mantıksal İşlevleri

X Y X|Y X&Y X^Y ~X

0 0 0 0 0 1

1 0 1 0 1 0

0 1 1 0 1 1

1 1 1 1 0 0

0-67
ÖRNEK 1:
Aşağıdaki programın çalıştırılmasından sonra ekran
çıktısı ne olur?

x=1
y=2
a=x&y
b=x|y
c=y>>1
d=y<<2
print(a,b,c,d)

0-68
EKRAN ÇIKTISI

0318

0-69
Python Operatörlerinin Öncelik Sıralamaları
Öncelik Sırası Operatör veya İşlem Açıklama

En Yüksek () Parantez İçi

pow( ), sqrt( ), min( ), … Fonksiyonlar

** Üs Alma

+x, -x, ~x Pozitif, negatif, bitsel DEĞİL

*, @, /, //, % Soldan sağa doğru

+, - Soldan sağa doğru

<<, >> Bitsel kaydırma operatörleri

& Bitsel AND

0-70
Python Operatörlerinin Öncelik Sıralamaları
Öncelik Sırası Operatör veya İşlem Açıklama

^ Bitsel XOR

| Bitsel OR

<, <=, >, >=, !=, == Karşılaştırma operatörleri

not Mantıksal DEĞİL

and Mantıksal VE

or Mantıksal VEYA

En düşük =, +=, *=, … Atama operatörleri

0-71
ÖRNEK 2:
A=-2*4%3+2**(3*2+1) ifadesinin sonucunda A
değişkeninin değeri ne olur?

0-72
ÖRNEK 2:
A=-2*4%3+2**(3*2+1) ifadesinin sonucunda A
değişkeninin değeri ne olur?

ÇÖZÜM:
Öncelikle işlem sırasına bakılır.

1+128 =129

0-73
Matematiksel İfadelerin Kodlanması
Bir matematiksel ifade birden fazla işlem içerebilir.
Matematiksel ifade Python dilinde kodlanırken birden
fazla operatör kullanılır. Böyle durumlarda işlemlerin
öncelik sırasına bakılır.

0-74
ÖRNEK 3:
Aşağıdaki matematiksel ifadelerin Python kodlamasını
yazınız.

0-75
ÇÖZÜM 3:

x=(3*y**(2/3))/4

x=(3*y**(2/3))/4
x=math.sqrt(y)+z**4

0-76
ÖRNEK 4:
Üç kenar uzunluğu verilen üçgenin alanını hesaplayan
Python uygulamasını yazalım.

0-77
ÖRNEK 4:
Üç kenar uzunluğu verilen üçgenin alanını hesaplayan
Python uygulamasını yazalım.

Üç kenar uzunlukları: a,b,c

Üçgenin yarı çevresi: x=(a+b+c)/2

0-78
ÇÖZÜM 4:
Üç kenar uzunluğu verilen üçgenin alanını hesaplayan
Python uygulamasını yazalım.

a=int(input('a kenarı:'))
b=int(input('b kenarı:'))
c=int(input('c kenarı:'))
u=(a+b+c)/2
Alan=(u*(u-a)*(u-b)*(u-c))**0.5
print('Alan=',Alan)

0-79
EKRAN ÇIKTISI
a kenarı:5
b kenarı:12
c kenarı:13

Alan=30.0

0-80
ÖRNEK 5:
Maaşı ve zam oranı girilen işçinin zamlı maaşını
hesaplayan Python kodunu yazınız.

0-81
ÖRNEK 5:
Maaşı ve zam oranı girilen işçinin zamlı maaşını
hesaplayan Python kodunu yazınız.

Maaş=2000
Zam=%15 (0.15)

0-82
ÇÖZÜM 5:
Maaşı ve zam oranı girilen işçinin zamlı maaşını
hesaplayan Python kodunu yazınız.

maas = int(input("Maaş= "))


zamoranı = float(input("Zam_Oranı= "))

yeniMaas = maas + (maas * zamoranı)

print(yeniMaas)

0-83
EKRAN ÇIKTISI:
Maaşı ve zam oranı girilen işçinin zamlı maaşını
hesaplayan Python kodunu yazınız.

0-84
Python Dilinde Temel İşlemler ve
Karar Yapıları
Python ile Karar Yapıları
Normal bir programın işleyişinde, yazdığımız kod
satırları yukarıdan aşağı doğru işleme tabi olur.

Program akışını kontrol etmek için karar yapıları


kullanılır. Karar yapıları bir şarta bağlı olarak iki ya
da daha fazla seçenekten birini seçme işlemi
gerçekleştirir. Program şarta bağlı olarak hangi
işlemi yapacağına karar verir.

Python’da if, if-else ve if-elif else olmak üzere üç


adet karar yapısı vardır.
0-2
if: YAPISI
if ( test edeceğimiz ifade ):
Test edilen ifade doğru ise çalışır.

Test edeceğimiz ifade kısmındaki koşul


doğru ise if ifadesinin içindeki kodlar çalışır.

Eğer koşul yanlış ise program if yapısının


içine girmez.

0-3
if: YAPISI
if sorgularında koşuldan sonra ‘:’
kullanılmalıdır. Büyük/küçük harf ayrımını
dikkat edilmelidir. (If, IF yazmamaya özen
gösterilmelidir.)

0-4
KOD BLOĞU: GİRİNTİ MEKANİZMASI
Programlama dillerinde kod bloklarını
belirlemek için ya {…} süslü parantezler
(C/C++, Java), ya da begin … end (Delphi)
ifadeleri kullanılırken Python’da ise girinti
mekanizması kullanılır.

Python’da dikey olarak aynı hizada başlayan


ardışık kod satırları bir blok ve pratik olarak
her bir blok girintisi 4 boşluk (1 tab) olarak
kabul edilir.
0-5
ÖRNEK 6:
Kullanıcının girdiği bir sayının negatif, pozitif
veya sıfır mı olduğunu ekrana yazdıran
programı kodlayınız.

0-6
ÇÖZÜM 6:
a=int(input('Sayı gir:'))
if(a>0):
print("Pozitif")
if(a<0):
print("Negatif")
if(a==0):
print("Sıfır")

0-7
ÖRNEK 7:
Üç sayı içerisinden en büyük olanı bulan
programı yazınız.

0-8
ÇÖZÜM 7:
print("Üç sayı giriniz:")
a=int(input('a:'))
b=int(input('b:'))
c=int(input('c:'))
maksimum=a
if b>maksimum:
maksimum=b
if c>maksimum:
maksimum=c
print("En büyük sayi",maksimum)

0-9
if: else: YAPISI
Koşul yanlış olduğu durumda ne yapılmalıdır?
if test edeceğimiz ifade:
eğer test edilen ifade doğru ise bu bölüm çalışır
else:
eğer test edilen ifade yanlış ise bu bölüm çalışır

0-10
ÖRNEK 8:
Dışarıdan girilen nota göre öğrencinin geçip
geçmediğini ekrana yazdıran programı
kodlayınız.

0-11
ÇÖZÜM 8.1:

puan=int(input('Sınav Notu:'))
if puan>=50:
print("Geçti")
else:
print("Kaldı")

0-12
ÇÖZÜM 8.2:

puan=int(input('Sınav Notu:'))
print ("Geçti" if puan>=50 else "Kaldı")

0-13
if: elif: else: YAPISI
Bu yapı için ilk önce if ifadesi olmalıdır.

Koşul sayısı 2’den fazla olduğu zaman tercih edilir.

if yapısı içindeki şart yanlış ise, elif yapısına geçiş


oluyor ve şartın doğru olup olmadığına bakılıyor.

0-14
ÖRNEK 9:
uzaybilimi=input('Makemake, Neptun, 4-Vesta, VY-Canis-Majoris, birini
giriniz:')

0-15
ÖRNEK 9:
uzaybilimi=input('Makemake, Neptun, 4-Vesta, VY-Canis-Majoris, birini
giriniz:')
if uzaybilimi == "Makemake":
print("Cuce Gezegen.")
elif uzaybilimi == "Neptun":
print("Gezegen.")
elif uzaybilimi == "4-Vesta":
print("Asteroid.")
elif uzaybilimi == "VY-Canis-Majoris":
print("Yildiz.")
else:
print("Yanlis Giris.")

0-16
ÖRNEK 10:
100’lük sisteme göre girilen başarı notunu harfli
sisteme çeviren kodu yazınız.

Kriterler:
Girilen not 90 ve üzeri ise AA
80-89 BA
70-79 BB
60-69 CB
50-59 CC
50’den aşağı ise FF şeklinde olacaktır.
0-17
ÇÖZÜM 10:
puan=int(input('Sınav Notu:'))
if puan >= 90:
print("AA")
elif puan >= 80:
print("BA")
elif puan >= 70:
print("BB")
elif puan >= 60:
print("CB")
elif puan >= 50:
print("CC")
else:
print("FF")

0-18
ÖRNEK 11:
Sisteme giriş sağlayan, kullanıcı adı ve şifrenin
doğruluğuna karar veren yazılım.

0-19
ÇÖZÜM 11:

user = input("Kullanıcı adı:")


password = input("Şifre: ")
if user == "volkan" and password == "1234":
print("Sisteme başarı ile giriş sağlandı.")
else:
print("Kullanıcı adı yada şifreniz hatalı!")

0-20
ÖRNEK 12:
Aşağıdaki semptom tablosunda, insanlarda görülen bir takım
benzer semptomlara dayanarak Nezle, Alerji, Grip veya Kovid-
19 gibi benzer hastalıkların teşhisine yönelik veriler
sunulmaktadır. Bu tabloya dayanarak bir kişiden alınan
semptom verilerine (1: semptom var, 0: semptom yok)
dayanarak o kişinin hangi hastalığa yakalanmış olabileceğini
tahmin eden kodu Python’da yazın.

0-21
ÖRNEK 12:

0-22
ÇÖZÜM 12:
burun_akinti=0
hapsirik=0
hirilti=0
goz_kizarik=0
kasinti=0
bas_bogaz_agri=0
nefes_darligi=1
ani_ates=1
halsizlik=1
kuru_oksuruk=1
if burun_akinti==1 and hapsirik==1 and hirilti==1 and goz_kizarik==1 and
kasinti==1 and bas_bogaz_agri==1:
print("Nezle şüphesi!")

0-23
ÇÖZÜM 12:
elif hapsirik==1 and hirilti==1 and goz_kizarik==1 and kasinti==1 and
kuru_oksuruk==1:
print("Alerji şüphesi!")
elif bas_bogaz_agri==1 and ani_ates==1 and halsizlik==1 and kuru_oksuruk==1:
print("Grip şüphesi!")
elif nefes_darligi==1 and ani_ates==1 and halsizlik==1 and kuru_oksuruk==1:
print("Kovid-19 şüphesi!")
else:
print("Nezle, alerji, grip veya Kovid-19 değil")

0-24
ÖRNEK 13:
4 işlemi yapan bir hesap makinesi
programını yazınız.

0-25
ÇÖZÜM 13:
x=int(input('Birinci sayı:'))
y=int(input('İkinci sayı:'))
op=input('islem:')
if op=='+':
z=x+y
elif op=='-':
z=x-y
elif op=='*':
z=x*y
elif op=='/':
z=x/y
else:
print("Hatali Seçim")
print("Sonuç=",z)
0-26
Python ile Döngüler
Python ile Döngüler
Döngüler, programlamanın en temel yapılarıdır.

Programdaki bir kısım komutun sürekli olarak


çalıştırılmasını sağlar.

Döngü, belli bir sayıda veya belli bir koşul


sağlandığı sürece veya belli bir koşul gerçekleşene
kadar sürekli olarak tekrar eden bir yapıdır.

0-28
Python ile Döngüler
Python programlama dilinde kullanılan 2 ana
döngü tipi vardır;

DÖNGÜ TİPLERİ
1. While Döngüsü
2. For Döngüsü

Döngülere tekrarlama yapıları da diyebiliriz.

0-29
WHILE DÖNGÜSÜ
While döngüsünün yapısı şu şekildedir:

while koşul:

Blok işlemleri

Koşul doğru olduğu sürece blok işlemleri yapılır.


Koşul yanlış olduğunda döngüden çıkılır.
0-30
WHILE DÖNGÜSÜ
İşlemlerin ne kadar tekrar edeceği başta belli
olmayan ancak koşulun doğru ya da yanlış
olmasına bağlı olarak tekrar sayısının belli
olduğu yapıdır.

Belirlenen koşul doğru ise while ifadesinin


içindeki kodlar çalışır.

Eğer koşul yanlış ise program while yapısının


içine girmez.
0-31
ÖRNEK 2:
Aşağıdaki program parçasının ekran çıktısı ne olur?

x=100;
while x<=110:
print(x)
x=x+1
print("Islem bitti..")

0-32
EKRAN ÇIKTISI:
100
101
102
103
104
105
106
107
108
109
110
Islem bitti..

0-33
ÖRNEK 3:
Aşağıdaki program parçasının ekran çıktısı ne olur?

x=110;
while x>=100:
print(x)
x=x-1
print("Islem bitti..")

0-34
EKRAN ÇIKTISI:
110
109
108
107
106
105
104
103
102
101
100
Islem bitti..

0-35
ÖRNEK 4:
1’den 100’e kadar olan (100 dahil) çift
sayıların toplamını bulan programı yazınız.

0-36
ÇÖZÜM 4:
x=2
toplam=0
while x<=100:
toplam=toplam+x
x+=2
print("Toplam=",toplam)

Ekran Çıktısı
Toplam= 2550
0-37
SONSUZ DÖNGÜ
Bir döngünün koşulunun belirtildiği kısımdaki
sayacın, döngü içerisinde değiştirilmediğinde,
koşul sürekli sağlanırsa, koşul yerine 0’dan
farklı bir sabit değer yazılmışsa veya koşul
yerine True yazmışsa; bu durumda hiç
bitmeyen yani sonsuz bir döngü oluşur.

0-38
ÖRNEK 5:
X=10;
while X>0:
print(X)

X=10;
while X>0:
print(X)
X=X+1

0-39
ÖRNEK 6:
X=10;
while 10:
print(X)

X=10;
while True:
print(X)

0-40
ÖLÜ DÖNGÜ
Eğer döngüdeki koşul hiç sağlanmazsa
çalışmayan bir döngü elde etmiş oluruz.
Program döngünün içerisine girmez.

0-41
ÖRNEK 7:
X=10;
while X!=10:
X=X-1
print(X)

X=10;
while False:
print(X)
print("Bitti")

0-42
FOR DÖNGÜSÜ
En sık kullanılan döngü tipidir. Eğer döngünün
tekrar sayısı baştan belli ise bu döngü kullanılır.

for deyiminin kullanım şekli;

for değişken in range (ilk, son, adım):


Blok işlemleri

0-43
FOR DÖNGÜSÜ
range( ) Fonksiyonu: for döngü yapısında
kullanılan bir fonksiyondur.

range(ilk, son, adım)

range fonksiyonunun ilk parametresi


belirtilmezse 0, adım parametresi belirtilmezse 1
kabul edilir.

0-44
range( ) Örnekler
range(4): 0’dan 4’e kadar (4 hariç) sayılar

range(4,20): 4’den 20’ye kadar (20 hariç) sayılar

range(4,20,2): 4’den 20’ye kadar (20 hariç) sayıları


2’şer artırarak (çift sayılar için) işlem gerçekleştirir.

reversed(range(4,20,2)): 18’den 4’e kadar (4 dahil)


sayıları 2’şer azaltarak listeler. Döngü içerisinde
sayıların tersten işlem görmesini sağlar.

0-45
in / not in Operatörleri
in/not in Operatörleri: Sıralı yapılarda eleman
sorgulamasında kullanılır.

X in S: Eğer X, S içerisinde varsa True, değilse False


döndürür.

X not in S: Eğer X, S içerisinde varsa False, değilse


True döndürür.

0-46
index(x) Fonksiyonu
range() fonksiyonu gibi sıralı bir yapı içerisindeki x
elemanının indisini döndürür.

r=range(0, 30, 2)
print(13 in r)
print(12 in r)
print(30 not in r)
print(r.index(20))
print(*r)

0-47
index(x) Fonksiyonu
range() fonksiyonu gibi sıralı bir yapı içerisindeki x
elemanının indisini döndürür.

r=range(0, 30, 2)
print(13 in r) #False
print(12 in r) #True
print(30 not in r) # True
print(r.index(20)) #10
print(*r) #0 2 4 6 8 10 12 14 16 18 20 22 24 26 28

0-48
enumerate() Fonksiyonu
for döngüsünde kullanılan enumerate() fonksiyonu,
elemanların aynı anda hem sembol değerini hem de
sırasını öğrenmek için kullanılır.

0-49
ÖRNEK 8:
Aşağıdaki program parçasının ekran çıktısı ne olur?

for i, ay in enumerate(['Ocak', 'Şubat', 'Mart',


'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos',
'Eylül', 'Ekim', 'Kasım', 'Aralık']):
print(i, ay)

0-50
EKRAN ÇIKTISI:
0 Ocak
1 Şubat
2 Mart
3 Nisan
4 Mayıs
5 Haziran
6 Temmuz
7 Ağustos
8 Eylül
9 Ekim
10 Kasım
11 Aralık
0-51
ÖRNEK 9:

Python’da faktöriyel hesaplayan kodu yazınız.

0-52
ÇÖZÜM 9:

faktoriyel=1;x=1;
n=int(input('Faktöriyelini hesaplamak için bir sayi girin:'))
for x in range (n):
faktoriyel*=(x+1)
print("Faktöriyel=",faktoriyel)

0-53
break ve continue Komutları
Bu komutlar döngülerde ek kontrol sağlar.

break komutu: Bir koşula bağlı olarak döngü


değişkeninin son değerine ulaşmadan döngüyü
kırmasını sağlar.

continue komutu: Döngü içerisinde o anki işlemi


atlamamızı sağlar. Ama döngüden çıkış yapılmaz.

0-54
break Komutu
Bu komut belli bir koşula bağlı olarak for ve while
döngülerini sonlandırmak için kullanılır.

Program bu komuta geldiğinde döngünün dışındaki ilk


komuta atlanır.

0-55
ÖRNEK 10:
Aşağıdaki program parçasının ekran çıktısı ne olur?

x=1
while x<=20:
print(x)
x=x+1
if x==10:
break
print("Döngüden çıkış yapıldı")

0-56
EKRAN ÇIKTISI:

0-57
continue Komutu
Döngü içerisinde o anki işlemin atlanmasını sağlayıp
bir sonraki işlemden devam edilmesini sağlar.

0-58
ÖRNEK 11:
Aşağıdaki program parçasının ekran çıktısı ne olur?

x=0
while x<20:
x=x+1
if x==5 or x==10:
continue
print(x)
print("Döngüden çıkış yapıldı")

0-59
EKRAN ÇIKTISI:

0-60
ÖRNEK 12:
Aşağıdaki program parçasının ekran çıktısı ne olur?

a=0
for a in range(100):
if(a%2==1):
continue
if(a==50):
break
print(a, end=' ')

0-61
EKRAN ÇIKTISI:

0-62
İÇ İÇE DÖNGÜLER
Birden fazla döngü ve karar yapısı iç içe
kullanılabilir. Sıralama, matris ve tablo gibi iki
veya daha fazla boyutlu işlemlerle ilgili
uygulamalarda iç içe döngüler kullanılır.

0-63
ÖRNEK 13:
Aşağıdaki program parçasının ekran çıktısı ne olur?

a=1;b=5;
while(a<=5):
while(b>=1):
print("#",end='')
b=b-1
b=5
print("")
a=a+1

0-64
EKRAN ÇIKTISI:

0-65
ÖRNEK 14:
Aşağıdaki program parçasının ekran çıktısı ne olur?

for i in range(8):
for j in range(i+1):
print("#",end='')
print("")

0-66
EKRAN ÇIKTISI: Dik Üçgen

0-67
ÖRNEK:
Aşağıdaki program parçasının ekran çıktısı ne olur?

for i in range(8,0,-1):
for j in range(i,0,-1):
print("#",end='')
print("")

0-68
EKRAN ÇIKTISI: Ters Dik Üçgen

0-69
Python - Fonksiyonlar
FONKSİYONLAR
Gelişmiş olan programlar karmaşıktır. Bu
karmaşıklıktan kurtulmak için programı küçük
parçalara bölmeli ve daha sonra bu parçaları
birleştirmeliyiz.

0-2
FONKSİYONLAR
Programda fonksiyon kullanmamızın amacı
tekrar eden kodlardan kurtulmaktır.
Örnek olarak kuvvet hesaplayan bir fonksiyon
kullandığımızda her seferinde kuvvet
hesaplamak gerektiğinde kuvvet işlemlerini
tekrar tekrar yazmaktan kurtuluruz.

0-3
FONKSİYONLARIN SINIFLANDIRILMASI
Fonksiyonları şu şekilde sınıflandırabiliriz:
*Parametreli (dışarıdan değer alan)
veya
Parametresiz (dışarıdan değer almayan)
*Geriye değer döndüren
veya
Geriye değer döndürmeyen

0-4
HAZIR FONKSİYONLAR
Her programlama dili belli amaçlara yönelik
hazır fonksiyonlar içerir. (abs(), sin(), pow() gibi)

Python dilinde örneğin sin() fonksiyonunu


kullanmak için ‘math’ kütüphanesini programa
‘import math’ komutu ile eklememiz gerekir.

0-5
FONKSİYONLARIN TANIMLANMASI
def fonksiyonum():
fonksiyon gövdesi

def anahtar kelimesi fonksiyonu tanımlamak


için kullanılır. Tanımlanan bir fonksiyon başka
bir fonksiyon tarafından sadece ‘fonksiyonum()
şeklinde’ çağrılır.

0-6
FONKSİYONLARIN TANIMLANMASI
Fonksiyon Tanımı Kullanımı Açıklama ve Ekran Çıktısı

def fonk_adi(): def Merhaba(): #Parametresiz, geriye değer


…komutlar print("Programcı") döndürmeyen bir fonksiyondur.
Merhaba()
#Ekran Çıktısı
Programcı

def fonk_adi(a,b): def Merhaba(ad): #Parametreli, geriye değer


…komutlar print("Programcı:",ad) döndürmeyen bir fonksiyondur.
Merhaba("Mehmet")

#Ekran Çıktısı
Programcı: Mehmet
def fonk_adi(a,b): def Carpim(a,b): #Parametreli, geriye değer
…komutlar carp=a*b döndüren bir fonksiyondur.
…return sonuc return carp
print(Carpim(4,5)) #Ekran Çıktısı
20

0-7
FONKSİYONLARIN TANIMLANMASI
Fonksiyon Tanımı Kullanımı Açıklama ve Ekran Çıktısı
def fonk_adi(): def Toplam(): #Parametresiz, geriye değer
…komutlar a=8 döndüren bir fonksiyondur.
…return sonuc b=15
return a+b #Ekran Çıktısı
print(Toplam()) 23

def fonk_adi(): def Ornek(): #Gövdesiz fonksiyon


…pass/return pass
print(Ornek()) #Ekran Çıktısı
Yok

0-8
pass Komutu
Hiçbir şey yapma komutudur.

Amaç: Eğer henüz içeriğine karar vermediğimiz


bir fonksiyon var ve hata mesajı da almak
istemediğimizde fonksiyon içerisine bu komut
yazılır.

0-9
return Komutu
Fonksiyonun geriye döndüreceği değeri
üretmeye yarayan komuttur.

Örnek kullanımlarını tabloda görebiliriz.

0-10
return Kullanımları
Örnek Komut Dönen değer Açıklama

return 10 10 Fonksiyonun geri dönüş değeri sabit bir


değerdir.
return x x Fonksiyonun geri dönüş değeri bir
değişkendir.
def deneme(): 0 ya da 1 Fonksiyon x’in 2’ye bölümünden kalanı
x=14 döndürür.
return 0 if x%2==0 else 1
print(deneme())
return abs(a) abs() fonksiyon Fonksiyonun geri dönüş değeri başka bir
sonucu abs() fonksiyonunun geri dönüş değeridir.

return x,y x ve y Python dilinde aynı anda birden fazla


değer geri dönebilir.
return Yok Fonksiyonun geri dönüş değeri yoktur.
Sadece fonksiyon sonlandırılır.
pass Yok Fonksiyonun geri dönüş değeri yoktur.
Sadece fonksiyon sonlandırılır.
0-11
ÖRNEK 1:
Girilen üç sayıdan en büyük ve en küçük
olanını bulup ekrana yazdıran programı
fonksiyon kullanarak yazalım.

0-12
ÇÖZÜM 1:
x=int(input('Birinci sayıyı girin:'))
y=int(input('İkinci sayıyı girin:'))
z=int(input('Üçüncü sayıyı girin:'))
def enbuyuk(a,b,c):
return max(a,b,c)
def enkucuk(a,b,c):
return min(a,b,c)
print("En büyük sayı:", enbuyuk(x,y,z))
print("En küçük sayı:", enkucuk(x,y,z))

0-13
EKRAN ÇIKTISI 1:

0-14
lambda Fonksiyonu
Tek satırlık kısa fonksiyonlar tanımlamada
kullanılır.

Kullanım Şekli:
fonksiyon_adi=lambda değişkenler: komut satırı

0-15
ÖRNEK 2:
İki sayının çarpımını hem def hem de lambda
fonksiyonu kullanarak hesaplayalım.

0-16
ÇÖZÜM 2:

carpim=lambda x,y:x*y
print(carpim(5,7))

def carpim(x,y):
return x*y
print(carpim(5,7))

0-17
map Fonksiyonu
Bir grup veriye fonksiyonun değerini nesne
türünde döndürmede kullanılır.

Kullanım Şekli:
map(fonksiyon_adi, liste)

NOT: map fonksiyonunun döndürdüğü değeri


print() fonksiyonu yardımıyla doğrudan
yazdıramayız. Fakat list() fonksiyonu yardımıyla
listeye dönüştürüp yazdırabiliriz.
0-18
ÖRNEK 3:
1’den 20’ye kadar olan sayıların (20 dahil)
küpünü alan programı map fonksiyonu
yardımı ile kodlayalım.

0-19
ÇÖZÜM 3:
def kup(x):
return x**3
sayi=range(1,21) #1-20 arası sayılar
map_sonuc=map(kup, sayi)
print(list(map_sonuc))

0-20
EKRAN ÇIKTISI 3:

0-21
filter Fonksiyonu
Çağırılan fonksiyonun döndürdüğü değerin
True olduğu durumlara göre liste döndürür. Yani
fonksiyona gönderilen değerler içerisinden
istediklerimizi alarak yeni liste oluşturmamızı
sağlar. Yani elimizdeki liste üzerinde filtreleme
yapmamızı sağlar.

Kullanım Şekli:
filter(fonksiyon_adi, liste)

0-22
ÖRNEK 4:
1’den 50’ye kadar olan sayıların içindeki tek
sayıları filtreleyip ekrana yazdıran programı
filter fonksiyonu yardımı ile kodlayalım.

0-23
ÇÖZÜM 4:
def teksayi(x):
return x%2==1
liste=range(1,50)#1-50 arası sayılar
filter_sonuc=filter(teksayi,liste)
print(list(filter_sonuc))

0-24
EKRAN ÇIKTISI 4:

0-25
Matematiksel Fonksiyonlar
Sayılar üzerinde matematiksel işlemler yapmayı
sağlar. Python dilinde bazı fonksiyonlar
standart/yerleşik (built in functions) olarak
tanımlanmıştır.

Bu fonksiyonları doğrudan adı ile çağırabiliriz.


(abs(x) gibi). Bazılarını çağırabilmek içinse
math kütüphanesini program başında eklemek
gerekmektedir. (import math)

0-26
Standart matematiksel fonksiyonlar
Fonksiyon Tanım Örnek Çıktı

abs(x) x sayısının mutlak değerini hesaplar. abs(-30) 30

round(x) x sayısını en yakın tamsayıya yuvarlar. round(3.7) 4


round(3.4) 3

chr(x) x sayısının Unicode karakter karşılığını verir. chr(98) b

divmod(x,y) Tam bölme ve mod alma operatörlerinin divmod(7,3) (2,1)


birleşimi (x//y, x%y değerini döndüren) bir
fonksiyondur.

max(x,y) x ve y parametrelerinden büyük olanı verir. max(3,5) 5

min(x,y) x ve y parametrelerinden küçük olanı verir. min(3,5) 3

0-27
ASCII Tablosu
Onlarca (hatta yüzlerce ve binlerce) karakterin
sayılarla eşleştirilmesi gereken bir durumda,
ortak bir eşleştirme düzeni üzerinde uzlaşma
sağlamak hiç de kolay bir iş değildir.
Bu standarda American Standard Code for
Information Interchange, yani ‘Bilgi Alışverişi
için Standart Amerikan Kodu’ veya kısaca
‘ASCII’ adı verildi.
ASCII adı verilen sistem, birtakım sayıların
birtakım karakterlerle eşleştirildiği basit bir
tablodan ibarettir. 0-28
ASCII Tablosu

0-29
ASCII Tablosu
ASCII tablosunda toplam 128 karakterin sayılarla
eşleştirilmiş durumda olduğu görülmektedir. 128 adet
sayı 7 bite karşılık gelir (2**7=128). Yani 7 bit ile
gösterilebilecek son sayı 127’dir. Dolayısıyla ASCII 7
bitlik bir sistemdir.

0-30
ASCII Tablosu
ASCII tablosunu Python yardımıyla kendimiz de
aşağıdaki kodu kullanarak oluşturabiliriz.

for i in range(128):
if i % 4 == 0:
print("\n")

print("{:<3}{:>8}\t".format(i,repr(chr(i))),sep="", end="")

0-31
ASCII Tablosu

0-32
ASCII Tablosu

0-33
ASCII Tablosu
chr(): Bu fonksiyon, bir sayının karakter karşılığını verir.

>>> chr(10)
'\n'

0-34
ASCII Tablosu (0-31)

0-35
ASCII Tablosu
9. sıradaki \t öğesi sekme oluşturan kaçış dizisidir. Aynı
şekilde, 10. sıradaki \n öğesinin satır başına geçiren kaçış
dizisi olduğunu, 13. sıradaki \r öğesinin ise satırı başa alan
kaçış dizisi olduğunu da biliyoruz. Bu tür karakterler
‘basılamayan’ (non-printing) karakterlerdir. Yani mesela
ekranda görüntülenebilen ‘a’, ‘b’, ‘c’, ‘!’, ‘?’, ‘=’ gibi
karakterlerden farklı olarak bu ilk 32 karakter ekranda
görünmez. Bunlara aynı zamanda ‘kontrol karakterleri’
(control characters) adı da verilir. Çünkü bu karakterler
ekranda görüntülenmek yerine, metnin akışını kontrol eder.
Bu karakterlerin ne işe yaradığını şu tabloyla tek tek
gösterebiliriz.

0-36
ASCII Tablosu (0-31)

0-37
ASCII Tablosu
Bunlar birer harf, sayı veya noktalama işareti değil. O yüzden
bu karakterler ekranda görünmez. Ama bir metindeki veri,
satır ve paragraf düzeninin nasıl olacağını, metnin nerede
başlayıp nerede biteceğini ve nasıl görüneceğini kontrol
ettikleri için önemlidirler.
Geri kalan sayılar ise doğrudan karakterlere, sayılara ve
noktalama işaretlerine tahsis edilmiştir:

0-38
ASCII Tablosu

0-39
ASCII Tablosu
32 ile 127 arası sayılarla eşleştirilen karakterler yardımıyla
metin ihtiyaçlarımızın büyük bir bölümünü karşılayabiliriz.
Yani ASCII adı verilen bu eşleştirme tablosu sayesinde
bilgisayarların sayılarla birlikte karakterleri de işleyebilmesini
sağlayabiliriz.

0-40
Standart matematiksel fonksiyonlar
Fonksiyon Tanım Örnek Çıktı

ord(x) chr(x) fonksiyonun ters işlevini ord('A') 65


yapar.
pow(x,y) x’in y. kuvvetini alır. pow(3,5) 243

bin(x) x’i binary(ikili) sayı sistemine çevirir. bin(30) '0b11110'

hex(x) x’i hexadecimal(onaltılı) sayı hex(30) '0x1e'


sistemine çevirir.

oct(x) x’i octal(sekizli) sayı sistemine oct(30) '0o36'


çevirir.

sum([x, y, z]) x, y, z elemanlarının toplamını verir. sum([1,3,5,7,9]) 25

0-41
Sayı Sistemleri
İKİLİ (binary): 0 1
SEKİZLİ (octal): 0 1 2 3 4 5 6 7
ONLU (decimal): 0 1 2 3 4 5 6 7 8 9
ONALTILI (hexadecimal): 0 1 2 3 4 5 6 7
8 9 A B C D E F

0-42
Hexadecimal (Onaltılı) Dönüşüm
Rakam sayısı 10'dan fazla olduğunda İngiliz
alfabesindeki harfler rakam olarak kullanılır.
Örneğin 16 rakamdan oluşan 16'lı sistemin
rakamları sırasıyla 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E ve F'dir (A, sayı değeri onlu sistemde
10 olan, F, sayı değeri onlu sistemde 15 olan bir
rakamdır).

0-43
Hexadecimal (Onaltılı) Dönüşüm

0-44
Standart matematiksel fonksiyonlar
Tabloda örneği verilen standart matematiksel
fonksiyonların güncel listesine

https://docs.python.org/3.10/library/functions.html

adresinden ulaşılabilir.

0-45
math modülünde matematiksel
fonksiyonlar
Fonksiyon Tanım Örnek Çıktı

fabs(x) x sayısının mutlak değerini math.fabs(-30) 30.0


hesaplar.
ceil(x) x sayısını bir üst tamsayıya math.ceil(3.7) 4
yuvarlar. math.ceil(3.4) 4

floor(x) x sayısını bir alt tamsayıya math.floor(3.7) 3


yuvarlar. math.floor(3.4) 3
factorial(x) x’in faktöriyelini hesaplar. math.factorial(4) 24

fmod(x,y) x’in y’ye bölümünden kalanı verir. math.fmod(8,3) 2.0

fsum([x, y, z]) Kesirli sayıların toplamını verir. math.fsum([1.2,2.4,3.6]) 7.2

0-46
math modülünde matematiksel
fonksiyonlar
Fonksiyon Tanım Örnek Çıktı

cos(x) x’in kosinüsünü hesaplar. math.cos(0) 1.0

sin(x) x’in sinüsünü hesaplar. math.sin(0) 0.0

tan(x) x’in tanjantını hesaplar. math.tan(0) 0.0

acos(x) x’in kosinüsünün tersini hesaplar. math.acos(0.0) 1.57

asin(x) x’in sinüsünün tersini hesaplar. math.asin(1.0) 1.57

atan(x) x’in tanjantının tersini hesaplar. math.atan(1.0) 0.785

0-47
math modülünde matematiksel
fonksiyonlar
Fonksiyon Tanım Örnek Çıktı

hypot(x,y) x ve y’nin hipotenüsünü verir. math.hypot(5,12) 13.0

exp(x) (ex)’i (e’nin üstel değerini) hesaplar. math.exp(0) 1.0

log(x) e tabanına göre x’in logaritmasını alır. math.log(1) 0.0

log10(x) 10 tabanına göre x’in logaritmasını alır. math.log10(100) 2.0

sqrt(x) x’in kare kökünü verir. math.sqrt(25) 5.0


pi Pi sayısının değerini verir. math.pi 3.1415926

degrees(x) x’i radyandan dereceye çevirir. math.degrees(ma 180.0


th.pi)
e e sayısının değerini verir. math.e 2.7182818

0-48
Standart matematiksel fonksiyonlar
Tabloda örneği verilen math modülünde yer
alan matematiksel fonksiyonların güncel
listesine

https://docs.python.org/3.10/library/math.html

adresinden ulaşılabilir.

0-49
ÖZYİNELEMELİ FONKSİYONLAR
Kendi kendini çağıran fonksiyonlara
özyinelemeli (recursive) fonksiyonlar denir.
Bu fonksiyonlar algoritma tasarımını basitleştirir,
fakat daha fazla bellek alanı kullanılır.

Matruşka bebeği özyinelemeli yapıya örnek


olarak verilebilir.

0-50
ÖRNEK 5: FAKTÖRİYEL HESAPLAMA
Faktöriyel hesabını hem normal fonksiyon hem
de özyinelemeli fonksiyon yardımıyla yapalım.

0-51
ÇÖZÜM 5.1: (normal fonksiyon ile hesap)
#faktöriyel hesaplama (normal)
def fakt(x):
f=1
for x in range(x,0,-1):
f=f*x
return f

#Ana program
x=int(input('Faktöriyel sayısı: '))
print(x, "!=", fakt(x))

0-52
ÇÖZÜM 5.2: (özyinelemeli fonksiyon ile hesap)
#faktöriyel hesaplama (özyinelemeli)
def fakt(x):
if x<=1:
return 1
else:
return (x*fakt(x-1))

#Ana program
x=int(input('Faktöriyel sayısı: '))
print(x, "!=", fakt(x))

0-53
ÖRNEK 6:
Girilen 2 sayı arasındaki tüm asal sayıları bulan
python fonksiyon uygulamasını yapalım.

0-54
ÇÖZÜM 6:
def asalSayılariBul(sayi1, sayi2):
for sayi in range(sayi1, sayi2+1):
if sayi > 1:
for i in range(2, sayi):
if (sayi % i == 0):
break
else:
print(sayi)
sayi1 = int(input('sayı 1:'))
sayi2 = int(input('sayı 2:'))
asalSayılariBul(sayi1, sayi2)

0-55
EKRAN ÇIKTISI 6:

0-56
ÖRNEK 7:
Alınan sayıdan 0'a kadar olan bütün sayıların
toplamını hesaplayan bir recursive fonksiyon yazalım.

0-57
ÇÖZÜM 7:
def toplam(sayi):
if sayi == 1:
return 1
else:
return sayi + toplam(sayi - 1)

0-58
EKRAN ÇIKTISI 7:

0-59
ÖRNEK 8:
Sayıların bir dik üçgen halinde yazdırılmasını sağlayan python
programını yazalım.

0-60
ÇÖZÜM 8:
def ucgen(x):
for i in range(1,x+1):
for j in range(1,i+1):
print(j,end=" ")
print()

ucgen(15)

0-61
EKRAN ÇIKTISI 8:

0-62
Random Modülü
Belirli bir aralıkta rastgele sayıların üretilmesine ihtiyaç
duyulursa Python’ın standart kütüphanesinde bulunan
random adlı bir modülü kullanabilirsiniz.

random modülü de birtakım faydalı nitelik ve


fonksiyonları barındırır.

Bu modülü kullanabilmek için öncelikle modülümüzü


içe aktarmak gerekir.

import random
0-1
Random Modülü
random()

random modülünün random() adlı fonksiyonunu


kullanarak, 0.0 ile 1.0 arasında rastgele bir kayan
noktalı sayı üretilebilir:

random.random()

0.8064301704207291

0-2
Random Modülü
random() fonksiyonu, kendisini her çalıştırışınızda
farklı bir kayan noktalı sayı üretecektir:

random.random()

0.6825988062501599

Üretilen sayıların 0 ile 1 arasındadır.

0-3
Random Modülü
Mesela bu fonksiyonu kullanarak, 0 ile 1 arası 10 tane
sayı üretelim. Bu sayıları gösterirken de noktadan
sonra yalnızca dört basamak görüntülenmesine izin
verelim:

import random
for i in range(10):
print("{:.4f}".format(random.random()))

0-4
Random Modülü
Ekran Çıktısı:
0.8035
0.3005
0.6399
0.0325
0.9609
0.1304
0.5001
0.6700
0.5336
0.5310

0-5
Random Modülü
uniform()

random() fonksiyonu, herhangi bir parametre


almıyordu. Çünkü bu fonksiyonun tek görevi 0 ile 1
arası sayılar üretmektir. Peki ya biz üreteceğimiz
sayıların farklı bir aralıkta olmasını istersek ne
yapacağız?

0-6
Random Modülü
Belirli bir aralıkta kayan noktalı sayılar üretmek
istediğimizde, random() yerine uniform() adlı bir
fonksiyon kullanılacaktır.

random.uniform(0.5, 1.5)

0.811869297595837

0-7
Random Modülü
Bu kod, her çalıştırılışında 0.5 ile 1.5 arası rastgele bir
kayan noktalı sayı üretecektir:

random.uniform(0.5, 1.5)

0.9624863371746406

random.uniform(0.5, 1.5)

0.900446344810926

0-8
Random Modülü
randint()

random() ve uniform() fonksiyonları bize yalnızca


kayan noktalı sayılar üretme imkanı veriyordu. Ancak
elbette biz kimi durumlarda kayan noktalı sayılar
yerine tam sayılar üretmek de isteyebiliriz. İşte böyle
bir durumda, random modülünün randint() adlı başka
bir fonksiyonunu kullanabiliriz.

0-9
Random Modülü
Mesela 45 ile 500 arasında rastgele bir sayı üretmek
istenirse, randint() fonksiyonu şu şekilde kullanılabilir:

random.randint(45, 500)

Bu fonksiyon, her çalıştırılışında 45 ile 500 arasında


rastgele bir tam sayı üretecektir.

0-10
Random Modülü
choice()

random modülünün choice() adlı fonksiyonunu


kullanarak, dizi niteliği taşıyan veri tiplerinden rastgele
öğeler seçilebilir. Bu tanım biraz anlaşılmaz gelmiş
olabilir. O yüzden bunu bir örnekle açıklayalım.

Diyelim ki elimizde şöyle bir liste var:

liste = ['ali', 'veli', 'ahmet', 'mehmet', 'celal', 'selin',


'nihat']
0-11
Random Modülü
Bildiğiniz gibi, listeler, dizi niteliği taşıyan veri tipleridir.
Dolayısıyla choice() fonksiyonunu kullanarak bu
diziden rastgele bir öğe seçebiliriz:
liste = ['ali', 'veli', 'ahmet', 'mehmet', 'celal', 'selin',
'nihat']
random.choice(liste)
'ali'
random.choice(liste)
'mehmet'
random.choice(liste)
'selin'
0-12
Random Modülü
Tıpkı bu örnekte olduğu gibi, karakter dizileri de dizi
niteliği taşıyan bir veri tipi olduğu için, choice()
fonksiyonuna cevap verir:

kardiz = 'istihza'
random.choice(kardiz)
'i’

Peki acaba bu ‘i’ harfi karakter dizisinin başındaki ‘i’


harfi mi, yoksa ortasındaki ‘i’ harfi mi? Sizce bunu
nasıl anlayabiliriz?
0-13
Random Modülü
shuffle()
shuffle() fonksiyonunu kullanarak, dizi niteliği taşıyan
veri tiplerindeki öğeleri karıştırabilirsiniz (yani öğelerin
sırasını karışık bir hale getirebilirsiniz). Mesela:
l = list(range(10))

10 öğeli bir listemiz var. Bu listedeki öğeler 0’dan 10’a


kadar düzgün bir şekilde sıralanmış:

l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0-14
Random Modülü
Şimdi biz shuffle() fonksiyonunu kullanarak öğeleri
karıştıracağız:
random.shuffle(l)
l
[8, 0, 7, 9, 1, 4, 6, 5, 3, 2]

shuffle() fonksiyonunun, özgün listenin kendisi


üzerinde değişiklik yapıyor oluşudur. Yani liste
üzerinde shuffle() metodunu uyguladıktan sonra artık
özgün listeyi kaybediyoruz. Dolayısıyla elimizde artık
öğeleri 0’dan 10’a kadar düzgün bir şekilde sıralanmış
liste yok. 0-15
Random Modülü
randrange()

randrange() fonksiyonu, randint() fonksiyonu ile aynı


işi yapar. Yani her iki fonksiyon da, belli bir aralıkta
rastgele tamsayılar üretir. Ancak aralarında iki ufak
fark bulunur.

random.randrange(10)
5

0-16
Random Modülü
randrange() fonksiyonunu tek parametre ile
kullanabiliyoruz. Yukarıdaki komutu eğer randint() ile
yazmak istersek şunu yapmamız gerekir:

random.randint(0, 10)

0-17
Random Modülü
randrange() fonksiyonundan farklı olarak, randint()
fonksiyonunu iki parametre ile kullanmamız gerekir.
Eğer bu fonksiyona tek parametre verirsek hata alırız:

random.randint(10)

Traceback (most recent call last):


File "<stdin>", line 1, in <module>
TypeError: randint() missing 1 required positional
argument: 'b'

0-18
Random Modülü
Elbette, eğer istersek randrange() fonksiyonunu da çift
parametre ile kullanarak, farklı bir sayı aralığı belirtme
imkanına sahibiz:

random.randrange(10, 500)

Bu komut, 10 ile 500 arası rastgele tam sayılar


üretecektir. Ayrıca bu komut şununla da eşdeğerdir:

random.randint(10, 500)

0-19
Random Modülü
Bu iki fonksiyon arasındaki ikinci fark ise, rastgele sayı
üretilecek aralığın son değeridir. Bu ifadeyi bir örnekle
anlaşılır hale getirmeye çalışalım:

random.randrange(10, 20)
Bu komut, 10 ile 20 arasında rastgele bir sayı üretir.
Üretilecek en düşük sayı 10 iken, en büyük sayı ise 19
olacaktır. 20 sayısı asla üretilmez.

Bir de şuna bakalım:


random.randint(10, 20)
0-20
Random Modülü
Burada da yine 10 ile 20 arasında rastgele bir sayı
üretilir. Tıpkı randrange() metodunda olduğu gibi,
üretilecek en düşük sayı 10’dur. Ancak en büyük sayı
20 olacaktır.

Bu iki fonksiyonu kullanırken bu farklılığa dikkat


etmemiz gerekir. Aksi halde yazdığımız programlar
hatalı çalışabilir.

0-21
Random Modülü
sample()

‘Sample’ kelimesi ‘numune’ anlamına gelir. İşte


kelimenin bu anlamına paralel olarak sample()
fonksiyonu da, dizi niteliği taşıyan veri tiplerinden belli
sayıda numune alınabilmesini sağlar. Bakınız:

liste = range(100)

0-22
Random Modülü
100 öğeli bir liste oluşturduk. Şimdi bu listeden 5 tane
rastgele numune alalım:

random.sample(liste, 5)

[56, 74, 2, 3, 80]

Gördüğünüz gibi, sample() fonksiyonunun ilk


parametresi numune alınacak diziyi, ikinci parametresi
ise bu diziden kaç tane numune alınacağını gösteriyor.

0-23
ÖRNEK 1:
Negatif bir sayıdan 0'a kadar olan sayıların toplamını
hesaplayan bir recursive fonksiyonu yazalım.

0-24
ÖRNEK 1:
def negatif_toplam(sayi):
if sayi == -1:
return -1
return sayi + negatif_toplam(sayi+1)

0-25
ÖRNEK 1:

0-26
ÖRNEK 2:
Çift bir sayıyı parametre olarak alan ve aldığı sayıdan
0'a kadar olan çift sayıların toplamını yazdıran bir
recursive fonksiyonu yazalım. (Örneğin değer 6 ise
çıktı 6 + 4 + 2 = 12 olmalı)

0-27
ÖRNEK 2:
def cift_sayi_toplam(sayi):
if sayi == 0:
return 0
else:
return sayi + cift_sayi_toplam(sayi - 2)

0-28
ÖRNEK 2:

0-29
ÖRNEK 3:
Girilen Vize ve Final Notunun ortalamasını hesaplayan
programı yazalım.
Oranlar; Vize için %40, Final için %60 olarak alınsın.

0-30
ÖRNEK 3:
vize = input('Vize Notunuz : ')
final = input('Final Notunuz : ')
ortalama=(float(vize)*0.4)+(float(final)*0.6)
print("Ortalama :{0} ".format(ortalama))

0-31
ÖRNEK 3:

0-32
ÖRNEK 4:
Kullanıcının girdiği boy ve ağırlık değerlerine göre
vücut kitle indeksini (VKİ=ağırlık/(boy*boy), boy metre
cinsinden verilmeli) hesaplayalım.

VKİ 18’den küçükse zayıf,


VKİ 18 ile <25 aralığındaysa normal,
VKİ 25 ile <30 aralığındaysa kilolu,
VKİ 30 ve daha yüksekse obez,
VKİ 35 ve daha fazlaysa ciddi obez olarak kabul edilir.
VKİ’ni hesaplayarak kişinin durumunu yazdıralım.

0-33
ÖRNEK 4:
print("Vücut Kitle Endeksi Hesaplama Programı")
boy = float(input("Boy (m):"))
kilo = int(input("Kilo (kg):"))
endeks = kilo/(boy*boy)
if endeks <=18:
print("\n zayıf VKİ:{}".format(endeks))
elif endeks > 18 and endeks <=25 :
print("\n normal VKİ:{}".format(endeks))
elif endeks > 25 and endeks <=30:
print("\n kilolu VKİ:{}".format(endeks))
elif endeks >= 30 and endeks <35:
print("\n obez VKİ:{}".format(endeks))
else:
print("\n ciddi obez VKİ:{}".format(endeks))
0-34
ÖRNEK 4:

0-35
ÖRNEK 5:
1’den kullanıcının girmiş olduğu sayıya kadar olan tek
ve çift sayıların toplamını ayrı ayrı bulan ve sonucu
ekranda gösteren programı yazalım.

0-36
ÖRNEK 5:
sayi = input('Sayıyı Girin : ')
tekToplam=0
ciftToplam=0
for i in range(1,int(sayi)):
if(i%2==0):
ciftToplam+=i
else:
tekToplam+=i
print("Tek Sayıların Toplamı : {0}".format(tekToplam))
print("Çift Sayıların Toplamı : {0}".format(ciftToplam))
0-37
ÖRNEK 5:

0-38
NOT:
Rastgele sayı üretmeyi sağlayan bir modül olan
random, python 1.4 ve üzerinde kullanılabiliyor.
Uygulamanıza import ederek kullanabilirsiniz.

randint(): Belirli bir aralıkta tam sayı üretmek için


kullanılan fonksiyondur. 2 parametre alır. Başlangıç ve
bitiş değeri olarak girilen sayılar arasında rastgele sayı
tutar.

0-39
ÖRNEK 6:
Python ile Sayı Tahmin Oyunu programı yazalım.
Bilgisayar tarafından 1-100 arası rastgele tutulan bir
sayıyı kullanıcının tahmin etmesi istensin ve
kullanıcının kaç tahminde sayıyı bulduğu hesaplansın.
Kullanıcı 0 değerini girdiğinde oyundan çıkış yapılsın.

0-40
ÖRNEK 6:

0-41
ÖRNEK 6:

0-42
Python Tarih İşlemleri
Python’daki bir tarih kendi başına bir veri türü değildir, ancak
tarihlerle tarih nesneleri olarak çalışmak için datetime adlı bir
modülü içe aktarabiliriz.

Örnek:
Datetime modülünü içe aktarın ve geçerli tarihi görüntüleyin:

import datetime

x = datetime.datetime.now()
print(x)
0-43
Date Output
Yukarıdaki örnekteki kodu yürüttüğümüzde sonuç şöyle
olacaktır:

2021-11-23 17:58:01.169571

Tarih yıl, ay, gün, saat, dakika, saniye ve mikrosaniyeyi içerir.

0-44
Örnek:

Haftanın gününü ve yılı döndür:

import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))

0-45
Ekran Çıktısı:

2021
Tuesday

0-46
Tarih Objesi Oluşturma
Bir tarih oluşturmak için datetime modülünün datetime () sınıfını
(yapıcı) kullanabiliriz.

Datetime () sınıfı, bir tarih oluşturmak için üç parametre


gerektirir: yıl, ay, gün.

0-47
Örnek:

import datetime
x = datetime.datetime(2021, 11, 23)
print(x)

0-48
Ekran Çıktısı:

2021-11-23 00:00:00

Datetime () sınıfı ayrıca zaman ve saat dilimi (saat, dakika,


saniye, mikrosaniye, tzone) için parametreleri alır, ancak isteğe
bağlıdır ve varsayılan 0 değerine sahiptir (saat dilimi için Yok).

0-49
Strftime () Metodu
Datetime nesnesinin tarih nesnelerini okunabilir dizelere
biçimlendirmek için bir yöntemi vardır.

Yönteme strftime () adı verilir ve döndürülen dizenin biçimini


belirtmek için bir parametre biçimi alır:

0-50
Örnek:

import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))

0-51
Ekran Çıktısı:

June

0-52
Tarih Formatlama Parametreleri:

0-53
Tarih Formatlama Parametreleri:

0-54
Tarih Formatlama Parametreleri:

0-55

You might also like