python ile programlamaya giri - ijshbahtiyar/dersler/icerik/python-ders3.pdfprogramlamaya giriş...

Post on 05-Mar-2021

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Python ile Programlamaya GirişDERS 3: KOŞULA BAĞLI DURUMLAR DR. HÜSEYİN BAHTİYAR

1

Klavye Girişi

! Python’a durup beklemesini ve klavyeden girilecek olan verileri okumasını anlatabiliriz.

! Bunu input() komutu ile yaparız. ! input() fonksiyonu bize string olarak sonuç verir.

2

isim = input(‘Adınız nedir? ')print(‘Hoşgeldin', isim)

Python 3 aşağısında bir versiyon kullananların raw_input() fonksiyonu

kullanmaları gerekmektedir.

Klavye Girişini Değiştirmek

! Örnek olarak klavyeden bir rakam girmesini isteyelim sonra bu rakamı değiştirmek istiyor olalım bunu nasıl yaparız?

3

Klavye Girişini Değiştirmek

! Örnek olarak klavyeden bir rakam girmesini isteyelim sonra bu rakamı değiştirmek istiyor olalım bunu nasıl yaparız?

4

inp = input(Sayı giriniz?')usf = int(inp) + 1print(‘Girdiğiniz sayının bir fazlası', usf)

Örnek

! Santigrad derece cinsinden verilmiş bir sıcaklığı Fahrenheit birimine çevirmek istediğimizde bu sayıyı 1.8 ile çarptıktan sonra 32 eklememiz gerekmektedir.

! Formülümüz: ! F = C * 1.8 +32.00

! Python’da klavyeden girilen bir sıcaklığı fahrenheit cinsine çeviren program yazınız.

5

Yapmadan Önce!!

! Eğer isterseniz bu programı bir dosya halinde yazabilirsiniz. ! Bunun için not defterini açalım. ! Programın başına #! python3 ekleyelim böylece python 3 versiyonu ile

çalışacağımızı anlayacaktır. ! Programımızı yazıp kaydederken ilkprogram.py olarak kayıt edelim. ! Idle ile açıp f5 tuşuna basalım.

6

7

Yorum eklemek

! Bazen program yazarken yorum yapmak isteyebiliriz. Böylece python buradaki eklediğimiz yorumları programın bir parçası olarak almaz ve işleme koymaz.

! Sebepleri: ! İleride tekrar geri döndüğümüzde hatırlamak istediğimiz önemli yerleri kolayca görmemizi

sağlar. ! Programı kimin yazdığı veya ne zaman yazdığı ile ilgili detaylı bilgiler sunabiliriz. ! Veya programın bir kısmını çalıştırmamak isteyebiliriz (geçici bir süre).

! Python a yorum eklerken # işaretini kullanırız.

8

9

Python da hata mesajları

! Program yazarken hepimiz hata mesajı ile karşılaşmışızdır. ! Bu hata mesajlarının amacı programın neresinde, ne türde bir hata

yaptığımızı bize bildirmesidir. ! Hata mesajı ile karşılaştığımızda yapmamız gereken, mesajın bize ne

anlatmak istediğini çözmeye çalışmaktır.

10

• Genel olarak iki ayrı şekilde inceleyebiliriz. • Değişken ismine ilişkin hatalar NameError • Sözdizimine ilişkin hatalar: SyntaxError • Ayrıca: ValueError, IOError vs…

Python da hata mesajları! Try, except komutları ile bu hata mesajlarından

kurtulabilir, kullanıcıya doğru veriyi girmesini söyleyebiliriz. Çalışma prensibi şu şekildedir

try:

yapmak istediğimiz komutların denenmesi

except HATASEBEBİ:

HATA MESAJI.

11

Koşula bağlı durumlar! Python’da ve tüm programlama dillerinde koşula bağlı durumlar oldukça önemli bir

konudur ve programlamanın temelini oluşturmaktadır.

! Koşula bağlı durumlara en basit örnek olarak e-postamızı verebiliriz.

! Kullanıcı adı ve şifresini girdiğimizde şifremiz doğru ise bizi postaya yönlendirir, yanlış ise hata mesajı verir.

! Bu durumlar için if-else-elif deyimleri kullanılır.s

12

Koşula bağlı durumlar 13

Şifre gir

Doğru mu

Maile yönlendir

Hata mesajı ver

Evet

Yanlış

Koşula Bağlı Durumlar! Şimdi bir örnek yapalım,

! Kullanıcı klavyeden bir sayı girsin. ! Eğer 10 dan küçükse 10 dan küçük ! Eğer 20 den büyükse 20 den büyük şeklinde çıktılar versin ! Son olarak «bitti» şeklinde çıktı versin.

14

Koşula Bağlı Durumlar! Şimdi bir örnek yapalım,

! Kullanıcı klavyeden bir sayı girsin. ! Eğer 10 dan küçükse 10 dan küçük ! Eğer 20 den büyükse 20 den büyük şeklinde çıktılar versin ! Son olarak «bitti» şeklinde çıktı versin.

15

Karşılaştırma Operatörleri! Boolean tipi olarak isimlendirilen ifadeler Evet ve

hayır olarak sonuç döndürürler ve bu sonuçlar sayesinde programın akışını kontrol ederiz.

! Boolean tipi ifadeler karşılaştırma operatörleri kullanarak Evet/Hayır veya Doğru/Yanlış şeklinde sonuç üretirler.

! Karşılaştırma operatörleri yazdığınız değişkene bakıp evet veya hayır şeklinde sonuç üretir değişkeni değiştirmez!

16

Python Anlamı

< Küçüktür

<= Küçük Eşittir

== Eşittir

>= Büyük Eşittir

> Büyüktür

!= Eşit Değildir

Karşılaştırma operatörleri: Örnek 17

x = 5if x == 5 : print('5 e eşit')if x > 4 : print(‘4 ten büyük')if x >= 5 : print(‘5 e büyük veya eşit')if x < 6 : print(‘6 dan küçük') if x <= 5 : print(‘5 e küçük veya eşit')if x != 6 : print(‘6 ya eşit değil')

5 e eşit

4 den büyük

5 e büyük veya eşit

6 dan küçük

5 e küçük veya eşit

6 ya eşit değil

Tek yönlü seçimler? Ödev:! Şu an için if (eğer) ifadesini kullanarak

tek yönlü seçimler yaptık.

! Farklı seçimler için farklı if ler kullandık ama hepsinin seçeneği tekti

! Şöyle bir durum düşünelim klavyeden girilen sayının 5 e eşit olması durumunda ‘5 e eşittir.’ yazısı yazan ancak farklı bir rakam girilir ise ‘5 değildir’ hatası veren bir program yazabilir miyiz?

18

x == 5 ?Evet

Hayır 5 e eşittir

5 e eşit değildir

Program sonu

Girintileme

! Python da girintileme sistemi çok önemlidir. Bir ifadenin veya döngünün içerisinde olup olmadığımızı girintileme ile python a anlatırız.

! İf veya for ifadelerindeki ( : ) işaretinden sonra girinti yaparak if veya for ifadesinin içerisinde işlem yapacağımızı anlatırız.

! İfade içerisinde yapacağımız işlemler bittikten sonra girintiden geri çıkarız. Böylece if veya for işlemini bitirmiş oluruz. ! Boş satırları python önemsemez. ! Yorum yazdığımız kısımı da python önemsemez.

19

20increase / maintain after if or for

decrease to indicate end of block

x = 5 if x > 2 : print('2 den büyük') print(‘Halen büyük') print(‘2 ile işimiz bitti')

for i in range(5) : print(i) if i > 2 : print(‘2 den büyük') print(‘işimiz bitti', i) print(‘Program sonu')

Blokların başlangıcı ve sonunu inceleyelim21

x = 5if x > 2 : print('2 den büyük') print(‘Halen büyük')print(‘2 ile işimiz bitti')

for i in range(5) : print(i) if i > 2 : print(‘2 den büyük') print(‘işimiz bitti', i) print(‘Program sonu')

İç içe Kararlar 22

x = 42if x > 1 : print(‘1 den büyük') if x < 100 : print('100 den küçük') print(‘Program Sonu')

x > 1

1 den büyük

x < 100

100 den küçük

Program Sonu

Evet

Evet

Hayır

Hayır

Çift Yönlü Kararlar:! Bazen istediğimiz durumun

doğru veya yanlış olması durumunda ayrı çıktılar istiyor olabilir.

! Bunu yol ayrımı gibi düşünebiliriz, bir yönü seçeceğiz ikisini aynı anda seçemeyiz.

23

x > 2

Büyük

EvetHayır

x = 4

Büyük değil

Program sonu

Çift Yönlü Kararlar: 24

x > 2

Büyük

EvetHayır

x = 4

Büyük değil

Program sonu

x = 4

if x > 2 : print(‘Büyük')else : print(‘Büyük değil')

print(‘Program sonu')

Çift Yönlü Kararlar: 25

x > 2

Büyük

EvetHayır

x = 4

Büyük değil

Program sonu

x = 4

if x > 2 : print(‘Büyük')else : print(‘Büyük değil')

print(‘Program sonu')

Çok yönlü koşullar 26

if x < 2 : print(‘Küçük')elif x < 10 : print(‘Orta')else : print(‘Büyük')print(‘Program Sonu')

x < 2 Küçükevet

hayır

Program sonu

x < 10 Orta

Büyük

hayır

evet

Çok yönlü koşullar 27

X=0if x < 2 : print(‘Küçük')elif x < 10 : print(‘Orta')else : print(‘Büyük')print(‘Program Sonu')

x < 2 Küçükevet

hayır

Program sonu

x < 10 Orta

Büyük

hayır

evet

Çok yönlü koşullar 28

X=5if x < 2 : print(‘Küçük')elif x < 10 : print(‘Orta')else : print(‘Büyük')print(‘Program Sonu')

x < 2 Küçükevet

hayır

Program sonu

x < 10 Orta

Büyük

hayır

evet

Çok yönlü koşullar 29

X=20if x < 2 : print(‘Küçük')elif x < 10 : print(‘Orta')else : print(‘Büyük')print(‘Program Sonu')

x < 2 Küçükevet

hayır

Program sonu

x < 10 Orta

Büyük

hayır

evet

Çok yönlü Koşullar: Bulmacalar 30

X değerinden bağımsız olarak hangi koşul asla çalışmaz?

if x < 2 : print('2 den küçük')elif x >= 2 : print(‘2 veya daha büyük')else : print(‘Başka birşey')

Çok yönlü Koşullar: Bulmacalar 31

X değerinden bağımsız olarak hangi koşul asla çalışmaz?if x < 2 : print('2 den küçük')elif x < 20 : print(’20 den küçük')elif x < 10 : print('10 dan küçük')else : print(‘başka birşey')

32

Acknowledgements / Contributions

These slides are Copyright 2010- Charles R. Severance (www.dr-chuck.com) of the University of Michigan School of Information and open.umich.edu and made available under a Creative Commons Attribution 4.0 License. Please maintain this last slide in all copies of the document to comply with the attribution requirements of the license. If you make a change, feel free to add your name and organization to the list of contributors on this page as you republish the materials.

Initial Development: Charles Severance, University of Michigan School of Information

… Insert new Contributors and Translators here

top related