EEM-241 İleri Düzey Programlama
2024-2025 Güz Dönemi
Ders 4 - Python’a Giriş: Değişkenler, Temel Türler ve Girdi/Çıktı
1. Python ve Jupyter Lab
Python, python.org üzerinden; Python ile birlikte Jupyter araçlarını da içeren Anaconda ise anaconda.com üzerinden kurulabilir.
Program yazmak için .py dosyaları, VS Code/Spyder/PyCharm veya Jupyter Lab kullanılabilir. Derste Jupyter Lab kullanılacaktır.
Jupyter’de temel kısayollar:
Shift+Enter: hücreyi çalıştırır ve sonraki hücreye geçer.Ctrl+Enter: hücreyi çalıştırır ve aynı hücrede kalır.Alt+Enter: hücreyi çalıştırır ve alta yeni hücre ekler.- Komut modunda
A/B: üste/alta hücre ekler;D D: hücreyi siler. Ctrl+/: seçili satırları yorum satırı yapar veya geri alır.
İlk program:
print("Merhaba Python")
2. Değişkenler ve temel veri türleri
ogrenci_sayisi = 24 # int: tamsayı
sicaklik = 23.5 # float: ondalıklı sayı
ders_adi = "Programlama" # str: metin
devam_ediyor = True # bool: doğru/yanlış
print(type(ogrenci_sayisi))
print(type(sicaklik))
print(type(ders_adi))
print(type(devam_ediyor))
Değişken adı sayı ile başlayamaz, boşluk içeremez ve Python anahtar kelimesi olamaz. Anlamlı snake_case isimler tercih edilir. Python büyük-küçük harfe duyarlıdır.
toplam_not = 80
Toplam_not = 90
print(toplam_not, Toplam_not)
Birden fazla atama:
a, b = 23, 5
x = y = 100
3. Aritmetik operatörler
a, b = 23, 5
print(a + b) # toplama
print(a - b) # çıkarma
print(a * b) # çarpma
print(a / b) # gerçek bölme
print(a // b) # tam bölme
print(a % b) # kalan
print(a ** b) # üs alma
İşlem önceliğini görünür kılmak için parantez kullanılmalıdır.
yaricap = 4
pi = 3.14159
alan = pi * yaricap ** 2
print(alan)
4. print ve biçimlendirilmiş metin
a, b = 1, 2
print(a, b, sep="-")
print("Merhaba", end=" ")
print("Dünya")
Kaçış karakterleri:
print("birinci satır\nikinci satır")
print("ad\tnot")
f-string ile değerler okunaklı biçimde metne yerleştirilebilir:
a, b = 5, 7
print(f"{a} + {b} = {a + b}")
olcum = 12.34567
print(f"Ölçüm: {olcum:.2f}")
5. String türü
metin = "Bu bir metindir."
print(len(metin))
print(metin.upper())
print(metin.lower())
print(metin.count("i"))
print(metin.replace("metin", "örnek"))
print(metin.split())
Stringler indekslenebilir. İlk elemanın indeksi 0, son elemanın indeksi -1‘dir. Dilimlemede bitiş indeksi sonuca dahil edilmez.
metin = "Bu bir metindir."
print(metin[0])
print(metin[-1])
print(metin[0:3])
print(metin[:5])
print(metin[5:])
print(metin[::2])
print(metin[::-1])
String birleştirme ve tekrar:
birinci_kelime = "Merhaba"
ikinci_kelime = "Dünya"
print(birinci_kelime + " " + ikinci_kelime)
print("-" * 30)
Stringler değiştirilemez (immutable). Aşağıdaki atama hata verir:
metin = "Python"
# metin[0] = "p"
6. Klavyeden veri alma ve tür dönüşümü
input her zaman str döndürür.
birinci = input("Birinci sayıyı giriniz: ")
ikinci = input("İkinci sayıyı giriniz: ")
toplam = float(birinci) + float(ikinci)
print(f"Toplam: {toplam}")
Uygulama: Silindirin hacmi
import math
yaricap = float(input("Yarıçapı giriniz: "))
yukseklik = float(input("Yüksekliği giriniz: "))
hacim = math.pi * yaricap ** 2 * yukseklik
print(f"Silindirin hacmi: {hacim:.2f}")
Uygulama: Metindeki boşluk sayısı
metin = input("Bir metin giriniz: ")
bosluk_sayisi = metin.count(" ")
print(f"Girilen metinde {bosluk_sayisi} boşluk vardır.")
7. Yardım alma
help(print)
help(str.count)
dir(str)
dir listesinin tamamını ezberlemek yerine, ihtiyaç duyulan metodu help ile incelemek amaçlanır.
Alıştırmalar
- Santigrat cinsinden girilen sıcaklığı Fahrenheit’a çevirin.
- Girilen saniye sayısını saat, dakika ve saniye olarak yazdırın.
- Ad ve soyadı ayrı ayrı alıp
SOYAD, Adbiçiminde yazdırın. - Girilen bir metnin ilk, son ve ortadaki karakterini yazdırın.
- Bir direncin gerilimi ve akımı girildiğinde direnç ve gücü hesaplayın.