A tuple in Python is an ordered and immutable data structure used to store multiple values in a single variable. It is very similar to a list, but the main difference is that tuples cannot be changed after creation.
my_tuple = (1, 2, 3)
2. Creating a Tuple
Using parentheses:
fruits = ("apple", "banana", "cherry")
Parentheses are optional (a comma is enough):
colors = "red", "green", "blue"
For a single-element tuple, a trailing comma is required:
one_element = ("hello",)
3. Accessing Tuple Elements
You can access tuple elements using index numbers. Indexing starts at 0.
print(fruits[0]) # apple
print(fruits[-1]) # cherry
Liste, birden fazla veriyi tek bir değişkende tutmamızı sağlayan, sıralı (ordered) ve değiştirilebilir (mutable) bir veri yapısıdır. Python’daki listeler köşeli parantez [ ] ile tanımlanır.
my_list = [1, 2, 3, 4, 5]
2. Liste Elemanları
Listelerde farklı veri tipleri bir arada bulunabilir:
mixed_list = [42, 'Python', 3.14, True]
Liste içinde başka bir liste bile olabilir (iç içe liste):
Listede kaç şehir olduğunu yazdırın (len() fonksiyonunu kullanın).
Görev 2: Meyveler Listesi
fruits = ['elma', 'muz', 'kiraz']
Görev:
‘muz’ öğesini ‘portakal’ ile değiştirin.
Listenin sonuna ‘üzüm’ ekleyin.
‘elma’yı listeden silin.
Listenin son halini yazdırın.
Görev 3: Filmler Listesi
movies = ['Inception', 'Avatar', 'The Matrix', 'Interstellar']
Görev:
Listeyi döngü ile dolaşın ve her film için şu formatta bir mesaj yazdırın:
“Ben <film> izlemeyi çok seviyorum!”
Görev 4: Sayılar Listesi
numbers = [34, 12, 5, 66, 29, 100, 3]
Görev:
Dilimleme (slicing) kullanarak ilk 3 sayıyı yazdırın.
Listeyi artan sıraya göre sıralayın ve yazdırın.
Sıralanmış listenin son 2 elemanını yazdırın.
Görev 5: Çift Sayıların Karesini Oluşturma
Bu görevde başlangıç listesi yoktur — listeyi kendiniz oluşturmanız gerekiyor.
Görev:
1 ile 20 arasındaki çift sayıların karelerinden oluşan bir listeyi liste kavrayışı (list comprehension) kullanarak oluşturun.
Oluşturduğunuz listeyi yazdırın.
Cevaplar
Görev 1: Şehirler Listesi
cities = ['Paris', 'Tokyo', 'Berlin', 'New York', 'İstanbul']
print(cities[0]) # Paris
print(cities[-1]) # İstanbul
print(len(cities)) # 5
Görev 2: Meyveler Listesi
fruits = ['elma', 'muz', 'kiraz']
fruits[1] = 'portakal' # muz yerine portakal
fruits.append('üzüm') # liste sonuna üzüm
fruits.remove('elma') # elma silindi
print(fruits) # ['portakal', 'kiraz', 'üzüm']
Görev 3: Filmler Listesi
movies = ['Inception', 'Avatar', 'The Matrix', 'Interstellar']
for movie in movies:
print(f"Ben {movie} izlemeyi çok seviyorum!")
🖨️ Çıktı:
Ben Inception izlemeyi çok seviyorum!
Ben Avatar izlemeyi çok seviyorum!
Ben The Matrix izlemeyi çok seviyorum!
Ben Interstellar izlemeyi çok seviyorum!
username = "admin"
password = "1234"
if username == "admin" and password == "1234":
print("Giriş başarılı")
else:
print("Giriş başarısız")
Özet
bool sadece True veya False olabilir.
Karşılaştırma operatörleri ile bool değerler elde edilir.
and, or, not gibi mantıksal operatörler koşulları birleştirmekte kullanılır.
bool() fonksiyonu, her ifadeyi True/False’a çevirir.
Örnek 1: Basit Karşılaştırma
a = 15
b = 20
print(a > b)
Beklenen Çıktı:
False
Açıklama: 15, 20’den büyük olmadığı için sonuç False olur.
Örnek 2: Mantıksal and Operatörü
age = 25
has_license = True
if age >= 18 and has_license:
print("Araç kullanabilirsiniz.")
else:
print("Araç kullanamazsınız.")
Beklenen Çıktı:
Araç kullanabilirsiniz.
Açıklama: Hem 18 yaşından büyük hem de ehliyeti olduğu için şartlar sağlanır.
Örnek 3: not Kullanımı
is_raining = False
if not is_raining:
print("Şemsiye almanıza gerek yok.")
else:
print("Şemsiye alın!")
Beklenen Çıktı:
Şemsiye almanıza gerek yok.
Açıklama: Yağmur yağmıyorsa (is_raining = False), not ile bu ifade tersine çevrilir ve True olur.
Örnek 4: bool() ile Boşluk Kontrolü
text = ""
if bool(text):
print("Metin boş değil.")
else:
print("Metin boştur.")
Beklenen Çıktı:
Metin boştur.
Açıklama: Boş bir string (“”) Python’da False olarak değerlendirilir.
Örnek 5: or ile Çoklu Koşul
temperature = 35
is_hot = temperature > 30
is_humid = True
if is_hot or is_humid:
print("Bol su için!")
else:
print("Hava güzel.")
Beklenen Çıktı:
Bol su için!
Açıklama: Sıcaklık 30’dan büyük veya nemli hava varsa, uyarı mesajı gösterilir.
Örnek 6: Proje Zaman ve Bütçe Durumu Değerlendirmesi
# Proje bilgileri
actual_duration = 45 # Gerçekleşen gün sayısı
planned_duration = 40 # Planlanan gün sayısı
actual_cost = 110000 # Harcanan para (TL)
budget = 100000 # Bütçe (TL)
# Karşılaştırmalar
is_delayed = actual_duration > planned_duration
is_over_budget = actual_cost > budget
# Durumu değerlendirme
if is_delayed and is_over_budget:
print("Proje hem gecikmiş hem de bütçeyi aşmış durumda.")
elif is_delayed and not is_over_budget:
print("Proje gecikmiş ama bütçe içinde kalmış.")
elif not is_delayed and is_over_budget:
print("Proje zamanında tamamlanmış ama bütçeyi aşmış.")
else:
print("Proje zamanında ve bütçe içinde tamamlanmış.")
Beklenen Çıktı:
Proje hem gecikmiş hem de bütçeyi aşmış durumda.
Açıklama:
Bu örnek, bir projenin zaman ve maliyet performansını kontrol eden bir yapı sunar. and, not, karşılaştırma operatörleri ve bool mantığı birlikte kullanılmıştır. Bu tür bir yapı, ileride daha büyük bir proje yönetim sisteminin temeli olabilir (örneğin Earned Value hesaplamaları gibi).
Uzun zaman önce, akıllı bir hizmetkâr bir prensin hayatını kurtarmış. Kral, ona istediği her şeyi vereceğini söylemiş. Hizmetkâr da kralın satrancı çok sevdiğini bildiğinden, buğday tanesi istemiş. “Satranç tahtasının ilk karesine 1 tane, her sonraki kareye de öncekinin iki katı kadar buğday koyun” demiş.
Talimatlar
Bu görevde, satranç tahtasındaki buğday tanelerinin sayısını hesaplaman gerekiyor.
Bir satranç tahtasında 64 kare vardır.
1. kare: 1 tane
2.kare: 2 tane
3.kare: 4 tane
4.kare: 8 tane
Şu kodları yazmanız bekleniyor:
Belirli bir karede kaç tane buğday olduğunu hesapla
Tüm tahtadaki toplam buğday sayısını hesapla
Hata mesajları
Bazen bir şeyler yanlış gittiğinde programı durdurup hata göstermek gerekir. Bunu yaparken, hatanın neden kaynaklandığını açıklamak önemlidir.
Bu görevde, kare numarası 1 ile 64 arasında değilse şu kodla hata vermelisin:
raise ValueError("square must be between 1 and 64")
Bu, kodunun anlaşılmasını kolaylaştırır ve hataları düzeltmeyi kolaylaştırır.
CEVAP
square_no = int(input("Give the number of square: "))
if square_no < 1 or square_no > 64:
raise ValueError("square must be between 1 and 64")
total = 0
for i in range(0, square_no):
total += 2**i
print(total)
Soru: Elinizde bir kelime var: “happy”. Bu kelimeye “un” ön ekini ekleyerek yeni bir kelime oluşturun. Sonucu ekrana yazdırın.
Beklenen çıktı:
unhappy
2. Soru: Ön ekli kelime grubu oluşturma
Soru: Aşağıdaki listedeki ilk öğe bir ön ektir. Diğer kelimelere bu ön eki ekleyerek yeni kelimeler oluşturun.
Sonuçları aşağıdaki formatta birleştirip ekrana yazdırın:
vocab_words = ['en', 'close', 'joy', 'lighten']
Beklenen çıktı:
en :: enclose :: enjoy :: enlighten
3. Soru: “-ness” son ekini kaldırma
Soru: Aşağıdaki kelimenin sonundaki “ness” ekini kaldırın. Eğer bu ekten önceki harf “i” ise, bu harfi “y” harfiyle değiştirin.
Aşağıdaki örnek için doğru sonucu ekrana yazdırın:
word = "heaviness"
Beklenen çıktı:
heavy
4. Soru: Cümledeki sıfattan fiil oluşturma
Soru:
Verilen cümledeki kelimelerden, belirtilen index’teki kelimeyi bulun.
Bu kelimenin sonuna “en” ekleyerek onu bir fiile çevirin. Noktalamayı temizlemeyi unutmayın.
sentence = "It got dark as the sun set."
index = 2
Beklenen çıktı:
darken
Cevaplar
1. “un” ön eki ekleme
word = "happy"
prefixed_word = "un" + word
print(prefixed_word) # "unhappy"
✅ 2. Ön ekli kelime grubu oluşturma
vocab_words = ['en', 'close', 'joy', 'lighten']
prefix = vocab_words[0]
result = prefix
for word in vocab_words[1:]:
result += " :: " + prefix + word
print(result) # "en :: enclose :: enjoy :: enlighten"
✅ 3. “-ness” son ekini kaldırma
word = "heaviness"
if word.endswith("ness"):
root = word[:-4] # son 4 harfi sildik.
if root.endswith("i"): # eğer son harf "i" ise bunu "y" ile değiştirmeliyiz.
root = root[:-1] + "y" # son harfi silip yerine "y" koyduk.
print(root) # "heavy"
✅ 4. Cümledeki sıfattan fiil oluşturma
sentence = "It got dark as the sun set."
index = 2
sentence_list = sentence.split() # cümleyi liste yapısına dönüştürdük.
adjective = sentence_list[index].sprit(".,?!") # sıfatı bulduk ve tüm noktalama işaretlerinden kurtulduk.
verb = adjective + "en" # sıfatı fiile çevirdik.
print(verb) # "darken"
Bir metnin kaç karakterden oluştuğunu görmek için len() fonksiyonu kullanılır:
name = "Gökrem"
print(len(name)) # 6
6. Sık Kullanılan String Fonksiyonları
Python’da string’lerle çalışırken bazı yerleşik fonksiyonlar (metotlar) oldukça sık kullanılır:
.upper() → Tüm harfleri büyük harfe çevirir. Örnek: “gökrem”.upper() sonucu “GÖKREM” olur.
.lower() → Tüm harfleri küçük harfe çevirir. Örnek: “GÖKREM”.lower() sonucu “gökrem” olur.
.strip() → Metnin başındaki ve sonundaki boşlukları siler. Örnek: ” Hello “.strip() sonucu “Hello” olur.
.replace() → Metnin bir kısmını başka bir metinle değiştirir. Örnek: “Men came”.replace(“Men”, “Women”) sonucu “Women came” olur.
.split() → Belirtilen karaktere göre metni böler ve bir liste döndürür (varsayılan karakter boşluktur). Örnek: “John Wick”.split() sonucu [“John”, “Wick”]
Google Colab Gösterimi
"gökrem".upper() # GÖKREM
"GÖKREM".lower() # gökrem
" Hello ".strip() # Hello
"Men came".replace("Men", "Women") # Women came
"John Wick".split() # ['John', 'Wick'] → bir liste örneği
Python ile ilk kodlama egzersizinize hoş geldiniz! Bu alıştırmada, Gürbüz Usta’nın meşhur lazanyasını hazırlamak ve pişirmek için ne kadar zaman gerektiğini hesaplamasına yardım edeceksiniz.
Gürbüz Usta’nın lazanya tarifi iki ana adımdan oluşur:
Lazanya katlarını hazırlamak (her bir kat 2 dakika sürer)
Lazanyayı fırında pişirmek (40 dakika sürer ve bu süre her zaman aynıdır)
Bu egzersizde yazacağınız Python kodu şu süreleri hesaplamalıdır:
Katları hazırlamak için geçen süre
Pişirme süresi (her zaman 40 dakika)
Mutfakta geçirilen toplam süre (hazırlık süresi + pişirme süresi)
Adım 2: Bir Programcı Gibi Düşünün
Hayal edin:
Size kaç kat lazanya yapılacağı söylendi – örneğin 3 ya da 5.
Bu sayıyı 2 ile çarparak hazırlık süresini hesaplayabilirsiniz.
Pişirme süresi her zaman 40 dakikadır, kat sayısı fark etmez.
Toplam süreyi bulmak için, hazırlık süresi ile pişirme süresini toplamanız yeterlidir.
Adım 3: Kodunuzu Planlayın
Aşağıdaki adımları izleyerek kodunuzu yazabilirsiniz:
kat_sayisi adında bir değişken oluşturun ve bir sayı atayın (örneğin 3)
Bu sayıyı 2 ile çarpın → sonucu hazirlik_suresi değişkenine atayın
pisirme_suresi değişkenini 40 olarak belirleyin
hazirlik_suresi + pisirme_suresi ile toplam_sure değişkenini hesaplayın
Bu bilgileri ekrana yazdırın ki Gürbüz Usta plan yapabilsin
Yeni Başlayanlar İçin İpuçları
kat_sayisi değişkenine farklı değerler vererek kodunuzu test edebilirsiniz.
Açıklama yazmak için # işaretini kullanın – bu satırlar kodu çalıştırmaz, ama anlatır.
Python girintilere (boşluklara) duyarlıdır, dikkat edin.
Her adımda sonucu yazdırarak programın nasıl çalıştığını gözlemleyin.
🔹 Çözüm: Kod Yapısı
# Adım 1: Kat sayısını belirle
kat_sayisi = 3 # Bu sayıyı değiştirebilirsiniz
# Adım 2: Hazırlık süresini hesapla (her kat 2 dakika)
hazirlik_suresi = kat_sayisi * 2
# Adım 3: Pişirme süresi (her zaman 40 dakika)
pisirme_suresi = 40
# Adım 4: Toplam süre = hazırlık + pişirme
toplam_sure = hazirlik_suresi + pisirme_suresi
# Adım 5: Sonuçları yazdır
print("Hazırlık süresi:", hazirlik_suresi, "dakika")
print("Pişirme süresi:", pisirme_suresi, "dakika")
print("Mutfakta geçirilen toplam süre:", toplam_sure, "dakika")
Ders Konumuz: Temel Veri Tipleri ve Değişkenler — Sayılar (int, float, complex)
Python programlamaya yeni başladıysanız, ilk anlamanız gereken kavramlardan biri veri tipleridir. Bu bölümde, sayı veri tiplerine odaklanacağız. Python’da sayılar üç ana kategoriye ayrılır:
int — Tam sayılar
float — Ondalıklı sayılar
complex — Karmaşık sayılar
Ayrıca bu sayı türlerinin nasıl kullanıldığını, aralarında nasıl dönüşüm yapılacağını ve temel matematiksel işlemleri Python’da nasıl gerçekleştireceğimizi göreceğiz.
📌 Lütfen Google Colab’ı açın ve aşağıdaki örnekleri kendiniz deneyin. Python ile Kodlamaya başlamak için ilk yazımı aşağıdaki linkten okumanızı tavsiye ederim:
Yakın zamanda “Yeni Başlayanlar için Python” adlı bir kursa kaydoldum, ancak bu eğitime farklı bir bakış açısıyla yaklaşıyorum. Yazılım geliştirici olmak için değil, bir proje yöneticisi olarak kod yazmayı öğrenmek istiyorum.
Blog sayfam üzerinden ise öğrendiklerimi paylaşacağım — yalnızca ilerlememi belgelemek için değil, aynı zamanda öğrendiklerimi pekiştirmek ve üzerine düşünmek için.
Aynı zamanda amacım, proje yöneticisi rolümde kodlamayı bir araç olarak kullanmak — görevleri otomatikleştirmek, verileri analiz etmek ve yönettiğim sistemleri daha iyi anlamak.
Birinci derste şunları ele alacağız:
Python’un neden bu kadar popüler ve çok yönlü bir dil olduğu
Kodlama ortamınızın nasıl kurulacağı (Google Colab dahil)
İlk Python betiğinizin (script) nasıl çalıştırılacağı
Neden Python Öğrenmelisiniz?
Python, programlama dünyasının İsviçre çakısı gibidir. Milyonlarca insanın onu sevmesinin nedenleri:
Basit ve okunması kolay — Söz dizimi İngilizce’ye benzer.
Çok yönlü olması — Web geliştirme, veri bilimi, otomasyon, yapay zeka, finans, oyun geliştirme ve daha fazlasında kullanılır.
Büyük bir topluluk — Bol miktarda öğretici, kütüphane ve topluluk desteği vardır.
Harika iş fırsatları — Python, sürekli olarak en çok talep gören diller arasında yer alır.
Gerçek Hayattaki Kullanım Alanları
Veri Bilimi: Pandas, NumPy gibi kütüphanelerle veri analizi
Web Geliştirme: Flask, Django ile uygulama oluşturma
Finans: Risk modelleme, otomasyon, işlem botları
Otomasyon: Sıkıcı işleri sizin yerinize yapan betikler yazmak
Yapay Zeka & Makine Öğrenmesi: TensorFlow, PyTorch ile model eğitmek
Eğitim: Çocuklara kodlamayı öğretmek
Python Ortamınızı Kurmak
Python kodu yazmanın ve çalıştırmanın üç yaygın yolu vardır. Bunlardan sadece birine ihtiyacınız var ve biz yeni başlayanlar için Google Colab’ı öneriyoruz.
Google Colab (Yeni Başlayanlar için Önerilen)
Kurulum gerekmez
Tarayıcınızda çalışır
Kod yazmak, test etmek ve başkalarıyla paylaşmak için idealdir