Python ile Programlamaya Giris

Benzer belgeler
Python ile Programlamaya Giris

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Python ile Programlamaya Giris

Python Programlama Dili

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Giris {\} /\ Suhap SAHIN Onur GÖK

BİL1001 Bilgisayar Bilimlerine Giriş 1

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

HSancak Nesne Tabanlı Programlama I Ders Notları

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

Kümeler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

YZM 2105 Nesneye Yönelik Programlama

Standart Veri Tipleri

Diziler (Arrays) Çok Boyutlu Diziler

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

NESNEYE YÖNELİK PROGRAMLAMA

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Print Komutu ile Değişkenleri Yazdırmak

Java String İşlemleri


Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ALGORİTMA VE PROGRAMLAMA I

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Nesne Tabanlı Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Genel Programlama II

Dr. Fatih AY Tel: fatihay@fatihay.net

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Özyineleme (Recursion)

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

C# Örnek Uygulamalar I

Hafta 12 Karakter Tutan Diziler

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Algoritma ve Programlamaya Giriş

BLM 111 ALGORİTMA VE PROGRAMLAMA I

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü

Giriş. ENF102 Jeoloji

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

ALGORİTMA VE PROGRAMLAMA II

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Mantıksal Kontrol ve Döngü Komutları

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

MATLAB/Değişkene Değer Atamak

ALGORİTMA VE PROGRAMLAMA I

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Lambda İfadeleri (Lambda Expressions)

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Dr. Fatih AY Tel: fatihay@fatihay.net

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Internet Programming II

Nesne Tabanlı Programlama

Mantıksal İşlemler. 7.1 true, false, nil

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Fonksiyonlar (Altprogram)

Python Programlama Dili

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

YAZILIM VE PROGRAMLAMA DİLİ. Donanım ve yazılım nedir? Yazılım nedir? Yazılım çeşitleri nelerdir? Programlama dili nedir

Eln 1001 Bilgisayar Programlama I

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

C Konsol Giriş Çıkış Fonksiyonları

FORMÜL ADI (FONKSİYON) FORMÜLÜN YAZILIŞI YAPTIĞI İŞLEMİN AÇIKLAMASI

HSancak Nesne Tabanlı Programlama I Ders Notları

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Transkript:

Python ile Programlamaya Giris Ders 4 Veri Tipleri Arasinda Dönüsüm Asagida iki farkli veri tipi, int ve str, gösteriliyor. >>> 3 3 >>> '3' '3' >>> Ilk girilen sayi 3 bir tamsayi iken ikinci girilen sayi tirnak içerisinde oldugundan bir tamsayi degeri degil, bir string degeridir. Görmüs oldugumuz int, float ve str veri tipleri arasinda Python ile dönüsüm yapmak mümkün. Bir tamsayi veya virgüllü sayi degerini str veri tipine dönüstürmek için str fonksiyonunu kullaniriz. >>> str(3) '3' >>> str(1.2) '1.2' Asagidaki örnekte str fonksiyonu kullanilarak bir tamsayi degeri str veri tipine dönüstürülmüs. >>> x = str('5') >>> x * 5 '55555' str fonksiyonu bir str veri tipi verdiginden x * 5 islemindeki x

degiskeni str veri tipindendir. Bu yüzdünden islemin sonucu 25 degil, 5 tane 5 string'inin yanyana yazilmasiyla sonuclanmistir. Bir str veri tipi int fonksiyonu ile tamsayiya çevrilebilir. >>> int('3') 3 int fonksiyonu int veri tipine dönüstürür. >>> int('5') * 3 15 Eger int fonksiyonuna parametre olarak verilen str degeri bir tamsayiya dönüstürülemezse Python hata verir. Ayni sekilde str tipini virgüllü sayiya dönüstürmek için float fonksiyonu kullanilir. >>> float('1.23') 1.23 float fonksiyonu verilen deger bir sayiya çevrilebildigi sürece herzaman bir float veri tipi verir. Asagidaki örnekte tirnak içinde str olarak verilen deger bir tamsayi olsada sonucu float tipindendir ve virgüllü sayidir. >>> float('4') 4.0 Alistirma: float(str(45)) degeri nedir? str(int('99')) == '99' hangi sonucu verir? Bu dönüsümler Python'da çok kullanilir ve çok önemlidir. Mesela daha önce görmüs oldugumuz str veri tipi üzerinde toplama islemi str + int için geçerli degildi. Bu durumda yapmak istedigimiz isleme göre int'i str tipine veya str'i int tipine dönüstürebiliriz. >>> "Notunuz: " + str(100) 'Notunuz: 100'

Asagidaki gibi bir degiskenin tipi int olabilir. >>> x = 98 >>> "Notunuz: " + str(x) 'Notunuz: 98' Veya tam tersine bir str degerini int veya float degerine dönüstürmek isteyebiliriz. >>> int('3') + 5 8 Mesela input fonksiyonu herzaman str tipinden bir deger verir. >>> s = input("bir sayi giriniz: ") Bir sayi giriniz: 3 >>> print("iki kati", 2 * int(s)) Iki kati 6 Yukaridaki örnekte s degiskenini int fonksiyonu ile tamsayiya çevirip islem yaptigimizi farkettiniz mi? String Veri Tipi Üzerinde Islemler Daha önce str veri tipi üzerinde toplama ve çarpma islemlerini görmüstük. Toplama, iki str degerini yanyana birlestiriyor, çarpma ise verilen sayi kadar str degerini yanyana birlestiriyor. Simdi str ile yapilabilecek farkli islemler görecegiz. Karsilatirma Operatörleri Sayilar için gördügümüz karsilastirma operatörleri str için de kullaniliyor.

Kiyaslama Örnek Açiklama Esittir == "cat"=="abcd" Iki str esitse True degilse False Esit degildir!= "cat"!="abds" Iki str esitse False degilse True Küçüktür < "abc"<"abd" Büyüktür > "abc">"abd" Alfabedeki harf sirasina göre kiyaslama. Ilk farkli deger solda alfabede daha önce gelirse True yoksa False Alfabedeki harf sirasina göre kiyaslama. Ilk farkli deger solda alfabede daha sonra gelirse True yoksa False Küçük esittir Büyük esittir <= "abc"<="abd" Esittir ve küçüktürün birlesimi >= "abc">="abd" Esittir ve büyüktürün birlesimi Içinde in "bc" in "abcd" Soldaki str degeri sagdaki str degerinin içinde bulunursa True bulunamazsa False (Programlamada küçük harfler her zaman büyük harflerden önce gelir.) Burada in adahtar kelimesiyle ilk defa karsilasiyoruz. Aradigimiz bir karakter dizisinin baska bir karakter dizisinde bulunup bulunmadigini in ile kolayca tespit edebiliriz. Asagidaki örnek bir amino asit dizisinde belli bir amino asit üçlüsünün bulunup bulunmadigini tespit ediyor.

>>> fasta = "IKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMP" >>> "DLL" in fasta True >>> "LDL" in fasta False Verilen dizi ayni sirada olmali. Mesela "zoo" in "ooze" sonucu False olur. str Uzunlugu str uzunlugu bir str degerindeki karakter sayisidir. str degerinin uzunlugunu bulmak için len fonksiyonu kulanilir. >>> len("aac") 3 >>> len("abadef") 6 Alistirma: len("merhaba" + 3*"abc") ifadesinin ve len("abc")*3 ifadesinin sonuclari nedir? str Indeksleme Her str degerleri bir karakter dizisidir. Dizideki karakterlere tek tek ulasmak için [] operatörü kullanilir. >>> s = "Ali top at" >>> s[4] 't' [ ] köseli parantezlerin içine str degerinin kaçinci karakterine ulasmak istedigimizi yazariz. Yazdigimiz degere indeks diyecegiz. indeks sifirdan baslar ve birer birer artar. Buna göre Ali top at ifadesinin indexleri asagidaki gibi olur.

0 1 2 3 4 5 6 7 8 9 A l i t o p a t s degiskeninin altinci elemanina indeks 5 ile ulasilir. >>> s[5] 'o' Python ile sondan basa dogru indekleme de yapilabilir. Bu durumda negatif sayilar kullanilir. 0 1 2 3 4 5 6 7 8 9 A l i t o p a t -10-9 -8-7 -6-5 -4-3 -2-1 En sondaki elemana -1 ile ulasilir ve basa dogru birer birer eksilir. Mesela s degiskenindeki sondan dördüncü elemanina indeks -4 ile ulasilir. >>> s[-4] 'p' Eger verilen indeks str verisinin sinirlarinin disina çikarsa, mesela 15 veya -50 gibi, Python hata verir. str Bölme Indeksleme ile str degerinin bir elemanina, yani bir karakterine, ulasabiliyoruz. Birden fazla elemanina ulasmak için str degerini yine [ ] operatörü ve : ile bölebiliriz. : sembolünün sol tarafina baslangiç indeksi, sag tarafina ise bitirme indeksi kullanilir. Baslangiç indeksi sonuca dahildir, bitirme indeksi degildir.

>>> s[4:7] 'top' s degiskenindeki str degerinin ilk üç harfine ulasmak için 0 ve 3 kullanilir. >>> s[0:3] 'Ali' Sifir ile baslayan bölmelerde sifir yazilmak zorunda degildir. >>> s[:3] 'Ali' Bir str degerinin besinci elemanindan sonuncu elemanina kadar olan bölümü istiyorsak : operatörünün sag tarafina tabi ki str degerinin uzunlugu yazilmalidir. >>> s[4:len(s)] 'top at' Besinci elemanindan baslamak için 4 indeksini kullandigimizi farkettiniz mi? Eger bir str degerinin son elemanina kadar olan bölümünü istiyorsak : operatörünün sag tarafini bos birakabiliriz. Asagidaki örnek yukaridaki ile ayni sonucu verir. >>> s[4:] 'top at' Bölme islemi için negatif indeksler de kullanilabilir. Mesela besinci elemanindan baslayip sondan üçüncü elemanina kadar (sondan üçüncü dahil degil) bulmak istiyorsak asagidaki gibi 4 ve -3 indeksini kullanabiliriz. >>> s[4:-3] 'top' str Degiskenleri Degistirilemez Pyhon'da str degiskenlerinin degerleri asla degistirilemez. Mesela asagindaki

ifade yanlistir. >>> s[0] = 'F' Traceback (most recent call last): File "<pyshell#60>", line 1, in <module> s[0] = 'F' TypeError: 'str' object does not support item assignment Ayni sekilde str degerinin bir bölümü dahi degistirilemez. >>> s[4:-3] = "ip" Traceback (most recent call last): File "<pyshell#61>", line 1, in <module> s[4:-3] = "ip" TypeError: 'str' object does not support item assignment >>> Bir str degerinden baska bir str degeri türetilebilir. >>> s[:4] + "ip" + s[7:] + "la" 'Ali ip atla' String ile for Döngüsü str degerlerinin elemenlarina, yani karakterlerine, tek tek ulasmanin yolunu gördük. Eger tüm indeksleri birer kez sorgulamak istersek for anahtar kelimesini kullanip for döngüsü kurarak ulasabiliriz. Mesela s degiskeni asagidaki gibi verilsin. >>> s = "Merhaba" for döngüsü kullanarak s degiskenin her bir elemanini ch degiskenine atan bir döngü olusturalim.

>> for ch in s: print(ch) M e r h a b a Yukaridaki örnek for döngüsünün en basit halini gösteriyor. for anahtar kelimesinden sonra bir degisken tanimliyoruz. Daha sonra in anahtar kelimesini kullanip bir str degeri veriyoruz. Yukaridaki örnekte bu s degiskenindeki str degeridir. Döngünün içinde bir satirlik print(ch) islemi var. ch degiskeni s degiskenindeki her bir elemani temsil ediyor. "Merhaba" str degerinin 7 elemani oldugu için döngünün içindeki print(ch) fonksiyonu 7 defa farkli ch degerleri için çalisir. ch degiskeninin degeri sirasiyla "M", "e", "r", "h", "a", "b", "a" olacaktir. Asagidaki örnekte gösterilen seslileri_say fonksiyonu verilen str degerinin içindeki sesli harflerin sayisini geri veriyor. def seslileri_say(s): sayac = 0 for ch in s: if ch in "aeıioöuüaeiioöuü": sayac = sayac + 1 return sayac Bu fonksiyon "Merhaba" _str_degerindeki sesli harfleri bulup, yani "e", "a" ve tekrar "a", sayisini veriyor. >>> seslileri_say(s) 3

Akümülatör Degiskenler Yukaridaki örnekte kulandigimiz sayac degiskenine programlamada akümülatör denir. Akümülatör degiskenler istenilen degerleri toplamak için kullanilir. Yukaridaki örnekte her sesli harf bulundugunda akümülatör bir artiriliyor ve sonunda fonksiyon bu degeri geri veriyor. Akümülatörlerin önemli bir özelligi de her zaman bir baslangiç degerinin olmasidir. Yukaridaki örnekte sayac akümülatör degiskeninin baslangiç degeri sifirdir. Akümülatör degiskenler bildigimiz siradan degiskenlerdir. Sadece bizim bu degiskene üstledigimiz görevinden dolayi özel bir isim almistir. Degiskenin isminin sayac olmasinin özel bir nedeni yoktur. Degiskenin ismi sesli_toplam gibi bir isim de olabilirdi. Akümülatör degiskenler sadece sayaç olarak kullanilmak zorunda degildir. Ayni sekilde bu degiskeni istenilen olaylari biriktirmek için de kullanabiliriz. Mesela yukaridaki örnek verilen str degerinin sesli harflerinin sayisini veriyor. Simdi buna benzer bir fonksiyon daha yazalim. Bu sefer fonksiyon verilen str degerindeki sadece sesli harfleri geri versin. def seslileri_ver(s): sesliler = '' for ch in s: if ch in "aeıioöuüaeiioöuü": sesliler = sesliler + ch return sesliler Akümülatörümüz sesliler degiskeni ve baslangiç deger bos bir str. Her sesli harf bulundugunda degiskene bulunan sesli harf, yani ch degiskeninde eger bir sesli harf varsa, ekleniyor. >>> seslileri_ver("merhaba") 'eaa' >>> seslileri_ver("programlak çok güzel") 'oaaoüe'

Asagida verilen örnek ögrendigimiz for döngüsünü ve akümülatör degisken olgusunu kullanarak verilen bir amino asit dizisindeki yine verilen belli amino asitleri seçiyor ve diger amino asitleri çikartarak yeni bir dizi olusturuyor. def amino_asit_sec(fasta, aas): yeni_fasta = '' for amino_asit in fasta: if amino_asit in aas: yeni_fasta = yeni_fasta + amino_asit return yeni_fasta Amino asit dizisi asagidaki gibi verilsin. fasta = "IKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMP" fasta degiskeninin her bir elemani bir amino asiti temsil ediyor. Asagidaki örnekte dizideki sadece A, D, V ve K amino asitlerini kullanarak yeni bir dizi temsili olusturabiliriz. >>> amino_asit_sec(fasta, "ADVK") 'KDVDDVVAKKAAD'