Dersler

View on GitHub

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:

İ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

  1. Santigrat cinsinden girilen sıcaklığı Fahrenheit’a çevirin.
  2. Girilen saniye sayısını saat, dakika ve saniye olarak yazdırın.
  3. Ad ve soyadı ayrı ayrı alıp SOYAD, Ad biçiminde yazdırın.
  4. Girilen bir metnin ilk, son ve ortadaki karakterini yazdırın.
  5. Bir direncin gerilimi ve akımı girildiğinde direnç ve gücü hesaplayın.