Proje Yöneticileri için Python #8 – Listeler (Lists)

Photo by cottonbro studio on Pexels.com

1. Liste Nedir?

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):

nested_list = [1, [2, 3], 4]

3. Liste Elemanlarına Erişim (Indexing)

Python’da dizinler (index) 0’dan başlar:

fruits = ['elma', 'muz', 'kiraz']
print(fruits[0])   # elma
print(fruits[2])   # kiraz

Negatif indeksler sondan başlamayı sağlar:

print(fruits[-1])  # kiraz
print(fruits[-2])  # muz

4. Dilimleme (Slicing)

Bir listenin belli bir kısmını almak için liste[start:stop] yazılır.

numbers = [10, 20, 30, 40, 50]
print(numbers[1:4])  # [20, 30, 40]
print(numbers[:3])   # [10, 20, 30]
print(numbers[3:])   # [40, 50]

5. Liste Elemanlarını Değiştirme

Listeler değiştirilebilen (mutable) yapılardır.

colors = ['kırmızı', 'yeşil', 'mavi']
colors[1] = 'sarı'
print(colors)  # ['kırmızı', 'sarı', 'mavi']

6. Liste Metotları

Python’da listelerle çalışmayı kolaylaştıran birçok yerleşik metod vardır:

append()

: Listeye eleman ekler

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

insert(index, value)

: Belirtilen index’e eleman ekler

my_list.insert(1, 99)
print(my_list)  # [1, 99, 2, 3, 4]

remove(value)

: İlk bulunan elemanı siler

my_list.remove(2)
print(my_list)  # [1, 99, 3, 4]

pop(index)

: Belirtilen index’teki elemanı çıkarır (index verilmezse sonuncuyu çıkarır)

my_list.pop()      # 4 çıkarıldı
my_list.pop(0)     # 1 çıkarıldı

sort()

: Listeyi sıralar (kalıcı)

nums = [3, 1, 4, 2]
nums.sort()
print(nums)  # [1, 2, 3, 4]

sorted()

: Sıralı yeni liste döner (orijinali değişmez)

nums = [3, 1, 4, 2]
print(sorted(nums))  # [1, 2, 3, 4]
print(nums)          # [3, 1, 4, 2]

reverse()

: Listeyi ters çevirir

nums.reverse()
print(nums)  # [2, 4, 1, 3]

len()

: Liste uzunluğunu verir

len(nums)  # 4

7. Liste İçinde Dolaşmak (Loop)

names = ['Ali', 'Ayşe', 'Mehmet']
for name in names:
    print(name)

8. Liste Oluşturmanın Kısa Yolu: List Comprehension

Listeleri hızlı oluşturmak için kullanılır:

squares = [x**2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

9. Listeyi Temizleme

my_list.clear()
print(my_list)  # []

10. Liste Kopyalama

copy_list = my_list.copy()

Örnek: Proje Yöneticilerine Yönelik Liste Kullanımı

Bir proje yöneticisi görev listesini Python’da liste olarak tutabilir:

task_list = ['Kapsam Tanımı', 'Zaman Planı', 'Bütçe Hesaplama']
task_list.append('Risk Analizi')
print("Güncel Görevler:", task_list)

5 Uygulama Sorusu


Görev 1: Şehirler Listesi

cities = ['Paris', 'Tokyo', 'Berlin', 'New York', 'İstanbul']

Görev:

  • Listenin ilk şehrini yazdırın.
  • Listenin son şehrini yazdırın.
  • 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!

Görev 4: Sayılar Listesi

numbers = [34, 12, 5, 66, 29, 100, 3]

print(numbers[:3])  # [34, 12, 5]

numbers.sort()
print(numbers)      # [3, 5, 12, 29, 34, 66, 100]

print(numbers[-2:]) # [66, 100]

Görev 5: Çift Sayıların Karesi (List Comprehension)

even_squares = [x**2 for x in range(1, 21) if x % 2 == 0]

print(even_squares)  
# [4, 16, 36, 64, 100, 144, 196, 256, 324, 400]

Google Colab ile Kendiniz Deneyin: https://colab.research.google.com/drive/11XI7qqcjyfLnyYyo3vF6pjS1YC9QFfII?usp=sharing

Proje Yöneticileri için Python #6

Buğday Taneleri

Photo by Pixabay on Pexels.com

Giriş

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)

Proje Yöneticileri için Python #5

String Yapıları için Uygulama Örnekleri


1. Soru: “un” ön eki ekleme

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"

https://colab.research.google.com/drive/1icXpFCJiV5-XjoqLhP6iVDNoFIXyjhrm?usp=sharing

Proje Yöneticileri için Python #4

Benim Python yolculuğum, projelerimi daha iyi yönetebilmek amacıyla başladı. Bu notlar, kendi ders notlarımdır.


str Veri Tipi

1. String (Metin) Nedir?

Nasıl ki insanlar mesaj veya yazı yazmak için harfleri kullanırsa, Python’da da metinleri temsil etmek için string (yani karakter dizisi) kullanırız.

Python’da bir metin, başına ve sonuna tırnak işareti konularak yazılır:

"Merhaba"
'Python öğreniyorum'

Her ikisi de Python’da string (metin) olarak kabul edilir.


2. String (Metin) Nasıl Tanımlanır?

Bir metni bir değişkende saklayabiliriz:

name = "Gökrem"
message = 'Bugün hava çok güzel.'

Artık name ve message adında iki kutumuz var ve bu kutular string (metin) değerleri içeriyor.


3. Bir Metnin İçeriğine Nasıl Ulaşılır?

Bir metindeki her karakterin bir sırası (pozisyonu) vardır. Buna indeks denir ve Python’da 0’dan başlar:

name = "Gökrem"
print(name[0])   # G
print(name[1])   # ö
print(name[-1])  # m → son harf
print(name[2:4]) # kr
print(type(name)) # <class 'str'>

4. String Birleştirme ve Tekrar Etme

Birleştirme ( + )

İki string’i + operatörü ile birleştirebilirsin:

first_name = "Gökrem"
last_name = "Tekir"
print(first_name + " " + last_name)
# Çıktı: Gökrem Tekir

✖️ Tekrar Etme (*)

Bir metni tekrar ettirmek için * kullanılır:

print("Hey! " * 3)
# Çıktı: Hey! Hey! Hey! 

5. Bir Metnin Uzunluğunu Bulmak

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

7. Basit Bir Örnek

Aşağıdaki kodu Google Colab’da deneyebilirsin:

name = "   gökrem tekir   "
print("Orijinal:", name)
print("Boşluksuz:", name.strip())
print("BÜYÜK HARFLİ:", name.upper())
print("küçük harfli:", name.lower())
print("Parçalanmış:", name.strip().split())

Sorular

Alıştırma 1: Selamlaşma Üretici

Görev: first_name ve last_name adında iki değişken oluştur. Bunları birleştirerek tam isim yap ve selamlayan bir mesaj yazdır.

Beklenen Çıktı:

Hello, Gökrem Tekir!

Alıştırma 2: Kelime Tekrarlayıcı

Görev: word = “Wow!” şeklinde bir değişken oluştur. Bu kelimeyi aynı satırda 5 kere yazdır.

Beklenen Çıktı:

Wow!Wow!Wow!Wow!Wow!

Alıştırma 3: Metin Uzunluğu Bulucu

Görev: city = “Amsterdam” şeklinde bir değişken oluştur. Bu şehrin kaç harf olduğunu len() fonksiyonuyla yazdır.

Beklenen Çıktı:

The word 'Amsterdam' has 9 characters.

Alıştırma 4: Metin Temizleyici

Görev: Boşluklu bir metin oluştur: dirty_text = ”   Hello Python!   “

Boşlukları temizleyip sade metni yazdır.

Beklenen Çıktı:

Hello Python!

Alıştırma 5: Büyük Harfe Dönüştürücü

Görev: Kullanıcıdan input() ile favori filmini al. Ardından bu filmi tamamen büyük harflerle yazdır.

Örnek Çalıştırma:

Enter your favorite movie: Inception
Output: INCEPTION

Cevaplar

Cevap 1: Selamlaşma Üretici

first_name = "Gökrem"
last_name = "Tekir"
full_name = first_name + " " + last_name
print("Hello, " + full_name + "!")

Cevap 2: Kelime Tekrarlayıcı

word = "Wow!"
print(word * 5)

Cevap 3: Metin Uzunluğu Bulucu

city = "Amsterdam"
length = len(city)
print(f"The word '{city}' has {length} characters.")

Cevap 4: Metin Temizleyici

dirty_text = "   Hello Python!   "
cleaned_text = dirty_text.strip()
print(cleaned_text)

Cevap 5: Büyük Harfe Dönüştürücü

movie = input("Enter your favorite movie: ")
print(movie.upper())

UDEMY KURSUMUZU ALMAK İSTERSENİZ:

https://www.udemy.com/course/proje-yoneticileri-icin-python/?couponCode=C4635C3ECAC411AC6E74

Proje Yöneticileri için Python #3

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.

Photo by Augusto Carneiro Junior on Pexels.com

Adım 1: Problemi Anlayın

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:

  1. Katları hazırlamak için geçen süre
  2. Pişirme süresi (her zaman 40 dakika)
  3. 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:

  1. kat_sayisi adında bir değişken oluşturun ve bir sayı atayın (örneğin 3)
  2. Bu sayıyı 2 ile çarpın → sonucu hazirlik_suresi değişkenine atayın
  3. pisirme_suresi değişkenini 40 olarak belirleyin
  4. hazirlik_suresi + pisirme_suresi ile toplam_sure değişkenini hesaplayın
  5. 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")

Proje Yöneticileri için Python #1

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

Şuraya gidin: https://colab.research.google.com

“New Notebook”a tıklayın ve kodlamaya hazırsınız!


İlk Python Betiğinizi Çalıştırmak

İlk Python satırınızı yazalım ve çalıştıralım!

Google Colab kullanıyorsanız, aşağıdaki satırı bir hücreye yapıştırın ve Shift + Enter tuşlarına basın:

print("Hello, Python world! 🚀")

Çıktı olarak şunu görmelisiniz:

Hello, Python world! 🚀

Tebrikler! İlk Python programınızı yazdınız 🎉


Uygulamalı Mini Alıştırma

Aşağıdaki satırları yeni Colab kod hücrelerine yazıp çalıştırın:

# Python'da matematik
print(5 + 3)

# Basit bir mesaj
print("Learning Python is fun!")

# Metinleri birleştirme
print("Hello" + " " + "World!")

Özet

Artık şunları yaptınız:

✅ Python’un neden güçlü bir araç olduğunu öğrendiniz

✅ Python kodlama ortamınızı (Google Colab) kurdunuz

✅ İlk Python betiğinizi yazıp çalıştırdınız

Harika bir başlangıç yaptınız, tebrikler! 🚀👏