Menu

Özgüveninizi Artıracak 13 Kolay Python Projesi

Coddy Team

Coddy Team

26 Haziran 2026 · 10 dk okuma

Eğitimi bitirirsiniz. Her satırı yazar, her örneği çalıştırır, hepsinin tıkır tıkır işleyişini izlersiniz. Sonra kendi başınıza bir şeyler geliştirmek için boş bir editör açarsınız – ve aklınıza hiçbir şey gelmez. Tek bir fikir bile yok.

Neredeyse her yeni başlayan, eğitim tuzağına (genellikle ilk Python kursundan hemen sonra) düşer. Bütün gün for döngüleri hakkında bir şeyler okuyabilirsiniz, ancak birisi size ne yazacağınızı söylemediği an beyniniz durur.

Kodun nasıl göründüğünü bilmek ile kodu kendi başınıza yazmak tamamen farklı iki beceridir. Birinden diğerine geçmenin yolu bir şeyler inşa etmektir. Kendi başınıza.

Ve hayır, yaptığınız şeyin illa yararlı bir şey olması gerekmez. Bir uygulama yayınlamıyor ya da açık kaynaklı bir projeye katkıda bulunmuyorsunuz. Sadece beyninizin durması geçene kadar birbiri ardına çalışan küçük, eğlenceli ve basit programlara ihtiyacınız var.

İşte bu yazı tam da bunun için var. Aşağıda, her biri 10 dakika ile bir saat arasında tamamlanabilecek 13 kolay Python projesi bulacaksınız. Her biri en fazla bir veya iki şey öğretir. Ve her birinin sonunda, sizin tarafınızdan yazılmış ve sizin makinenizde çalışan bir dosyanız olur.

Henüz bir şeyler inşa etmeye hazır hissetmiyor musunuz? Hiç sorun değil! Her harika yolculuk temel bilgilerle başlar. Bir sonraki adımı atmadan önce bilgisayarın temellerini öğrenin ve sapasağlam bir temel oluşturun.

Neden Eğitim İzlemek Yerine Proje Geliştirmelisiniz?

Çünkü eğitimler size öğreniyormuşsunuz hissi verir ama sizin yerinize düşünürler. Proje geliştirmek ise kararları sizin almanızı sağlar. Değişkene isim vermeli, doğru döngüyü seçmeli ve kodunuzun neden istediğiniz sayı yerine None yazdırdığını kendiniz çözmelisiniz.

Küçük projeler motivasyon sorununu da ortadan kaldırır. İki haftalık bir proje kulağa harika gelebilir, ta ki tıkanıp bir daha asla geri dönmeyene kadar. 30 dakikalık bir proje ise bugün biter. Çalışan bir dosya ve küçük bir zafer elde edersiniz; işte o zafer, yarın editörü tekrar açmanızı sağlayan şeydir.

Özgüveninizi Artıracak Kolay Python Projeleri.webp

1. Sayı Tahmin Oyunu

Klasik bir proje. Bilgisayar 1 ile 100 arasında bir sayı seçer, siz tahmin edersiniz ve doğruyu bulana kadar size "çok yüksek" veya "çok düşük" der. Çoğu yazılımcının ilk gerçek programıdır ve bunun iyi bir nedeni vardır.

import random

secret = random.randint(1, 100)
guesses = 0

while True:
 guess = int(input("Guess a number (1-100): "))
 guesses += 1
 if guess < secret:
 print("Too low")
 elif guess > secret:
 print("Too high")
 else:
 print(f"Got it in {guesses} guesses")
 break

Neler öğreneceksiniz: while döngüleri, koşullu ifadeler (conditionals), random modülü ve kullanıcı girdisini sayıya dönüştürme. Kod çalıştıktan sonra, oyunu belirli bir sürede veya tahminde bitirebilmek için maksimum tahmin sınırı ekleyin.

2. Kelime Yerleştirme Oyunu (Mad Libs)

Kullanıcıdan birkaç kelime isteyin – bir isim, bir fiil, bir sıfat – bunları komik bir cümlenin içine yerleştirin ve sonucu yazdırın. Baştan sona sadece on dakika.

noun = input("Noun: ")
verb = input("Verb: ")
adjective = input("Adjective: ")
place = input("A place: ")

story = f"Yesterday I went to the {place} and saw a {adjective} {noun} that started to {verb}."
print(story)

Neler öğreneceksiniz: f-string'ler, arka arkaya birden fazla girdi alma, değişkenlerden bir metin (string) oluşturma. Daha sonra daha uzun hikayelerle veya rastgele seçeceğiniz şablonlarla bu projeyi kolayca genişletebilirsiniz.

3. Zar Atma Uygulaması

Bir zar atın. İki zar atın. Oyun gecesi için 20 yüzlü bir zar atın. Sadece iki satırlık bir mantık ve etrafına eklemek istediğiniz her şey.

import random

def roll(sides=6, count=1):
 return [random.randint(1, sides) for _ in range(count)]

print(roll(6, 2)) # rolls two six-sided dice
print(roll(20)) # rolls one d20

Neler öğreneceksiniz: Varsayılan değerlere sahip fonksiyonlar, list comprehension yapısı ve aynı fonksiyonu farklı girdilerle çağırma. Kod çalıştıktan sonra, kullanıcının zarı çalıştırırken yüz sayısını ve zar adedini seçebileceği küçük bir menü ekleyin.

4. Basit Hesap Makinesi

Toplama, çıkarma, çarpma, bölme. İki sayı, bir operatör. Evet, zaten hesap makineleri var. Amaç bu değil. Amaç, parçaları kendiniz bir araya getirmek ve ilk seferde neleri gözden kaçırdığınızı fark etmektir.

def calc(a, b, op):
 if op == "+": return a + b
 if op == "-": return a - b
 if op == "*": return a * b
 if op == "/":
 if b == 0:
 return "Can't divide by zero"
 return a / b

a = float(input("First number: "))
op = input("Operator (+, -, *, /): ")
b = float(input("Second number: "))
print(calc(a, b, op))

Neler öğreneceksiniz: Fonksiyon yazma, if ile dallanma ve o can sıkıcı istisnai durumu (sıfıra bölme) yönetme. Kendinize meydan okumak ister misiniz? Zincirleme işlemler ekleyin.

5. Taş, Kağıt, Makas

Siz birini seçersiniz, bilgisayar birini seçer ve kurallar kimin kazandığını belirler. Küçük bir oyun döngüsü pratiği yapmak ve bir sözlüğü (dictionary) arama tablosu olarak kullanmaya alışmak için harikadır.

import random

options = ["rock", "paper", "scissors"]
wins_against = {"rock": "scissors", "paper": "rock", "scissors": "paper"}

you = input("Pick rock, paper, or scissors: ").lower()
cpu = random.choice(options)
print(f"Computer picked {cpu}.")

if you == cpu:
 print("Tie")
elif wins_against[you] == cpu:
 print("You win")
else:
 print("Computer wins")

Neler öğreneceksiniz: Hızlı aramalar için sözlükler (dictionaries), random.choice ve metin (string) karşılaştırma. Bunu bir while döngüsüne sarın ve turlar boyunca skoru takip edin – işte bir öğleden sonra küçük bir oyun geliştirdiniz bile.

6. Şifre Oluşturucu

Harfler, sayılar ve semboller kullanarak N karakterden oluşan rastgele bir şifre oluşturun. Kullanışlı, kolay ve 15 dakikada hazır. Gerçekten elinizin altında bulundurmak isteyeceğiniz türden bir araç.

import random
import string

def make_password(length=12):
 pool = string.ascii_letters + string.digits + string.punctuation
 return "".join(random.choice(pool) for _ in range(length))

print(make_password(16))

Neler öğreneceksiniz: string modülü, karakterleri tek bir metinde birleştirme ve bir havuzdan rastgele karakterler çekme. Noktalama işaretlerinden hoşlanmayan sistemler için sembolleri atlama seçeneği ekleyin – tahmin ettiğinizden çok daha fazla sistemde bu kısıtlama vardır.

7. Terminalde Yapılacaklar Listesi (To-Do List)

Doğrudan terminalde çalışan basit bir ekleme / listeleme / silme menüsü. Veritabanı yok, kurulum yok; sadece siz çıkana kadar yaşayan bir Python listesi. Öğrenmek için bu kadarı fazlasıyla yeterli.

todos = []

while True:
 cmd = input("Command (add/list/remove/quit): ")
 if cmd == "add":
 todos.append(input("Task: "))
 elif cmd == "list":
 for i, t in enumerate(todos, 1):
 print(f"{i}. {t}")
 elif cmd == "remove":
 idx = int(input("Index to remove: ")) - 1
 if 0 <= idx < len(todos):
 todos.pop(idx)
 elif cmd == "quit":
 break

Neler öğreneceksiniz: Menü tabanlı bir program, bir listeyi değiştirme, enumerate fonksiyonu ve 1'den başlayan numaralandırma için küçük bir ipucu. Bir sonraki sürümde görevlerinizi bir metin dosyasına kaydedin, böylece programı her açtığınızda silinmesinler. İşte o zaman gerçek bir uygulama gibi hissettirmeye başlayacak.

Projeler arasında motivasyonunuzu mu kaybediyorsunuz?

Coddy, oyunlaştırılmış seriler (streaks), XP ve motivasyonunuz düştüğünde bile uygulamayı açmanızı sağlayan kısa derslerle Python pratiğini günlük bir alışkanlığa dönüştürür.

Python'a Şimdi Başlayın

8. Kelime ve Karakter Sayacı

Metni yapıştırın; kelime sayısını, karakter sayısını ve en sık geçen kelimeyi alın. Sıkı kelime sınırlarıyla yazarken oldukça kullanışlıdır – aramaya başladığınızda bu tür sınırların ne kadar çok olduğunu göreceksiniz.

from collections import Counter

text = input("Paste your text: ")
words = text.split()
chars = len(text)
most_common = Counter(words).most_common(1)

print(f"Words: {len(words)}")
print(f"Characters: {chars}")
print(f"Most common word: {most_common[0][0]} ({most_common[0][1]} times)")

Neler öğreneceksiniz: collections modülü, .split() metodu ve Counter nesnesinin döndürdüğü değerleri okuma. Daha iyi sonuçlar elde etmek için "ve", "veya", "bir" gibi kısa ve yaygın kelimeleri atlamayı deneyin – aksi takdirde en sık geçen kelimeniz her zaman size hiçbir şey anlatmayan bu bağlaçlar olacaktır.

9. Bahşiş Hesaplayıcı

Toplam hesap, bahşiş yüzdesi, kişi sayısına bölme. Yazdığınızı çoktan unuttuktan yıllar sonra bile gerçekten kullanacağınız türden küçük bir araç.

bill = float(input("Bill total: "))
tip_pct = float(input("Tip percentage (e.g., 18): "))
people = int(input("How many people: "))

tip = bill * (tip_pct / 100)
total = bill + tip
per_person = total / people

print(f"Tip: {tip:.2f}")
print(f"Total: {total:.2f}")
print(f"Per person: {per_person:.2f}")

Neler öğreneceksiniz: Matematiksel operatörler, girdiyi sayılara dönüştürme ve :.2f ile virgülden sonra iki basamağa yuvarlama. Kişi başı düşen miktarı yukarı yuvarlayarak projeyi genişletin, böylece masadaki kimse hakkından az ödemez.

10. Geri Sayım Sayacı

Kaç saniye olduğunu yazarsınız, program sıfıra doğru geri sayar. Küçük, tatmin edici ve bir kez yapıldıktan sonra mola zamanlayıcıları ve pomodoro için gerçekten kullanışlı.

import time

seconds = int(input("Seconds: "))

while seconds >= 0:
 mins, secs = divmod(seconds, 60)
 print(f"{mins:02d}:{secs:02d}", end="\r")
 time.sleep(1)
 seconds -= 1

print("Time's up ")

Neler öğreneceksiniz: time modülü, sayıları dakika ve saniyeye bölmek için divmod ve aynı satırı yerinde güncellemek için \r numarası. Terminalinize bir metin yığını yığmak yerine zamanlayıcının gerçekçi hissettirmesini sağlayan şey o end="\r" parametresidir.

11. Rastgele Alıntı Oluşturucu

Alıntılardan oluşan bir liste – motivasyonel, komik, programlama ile ilgili, ne isterseniz – ve programı çalıştırdığınızda rastgele birini yazdırır. Neredeyse çok kolay. Yine de yapın.

import random

quotes = [
 "The only way to learn a new programming language is by writing programs in it.",
 "Programs must be written for people to read, and only incidentally for machines to execute.",
 "Premature optimization is the root of all evil.",
 "Simplicity is the soul of efficiency.",
 "Code is like humor. When you have to explain it, it's bad.",
]

print(random.choice(quotes))

Neler öğreneceksiniz: Liste temelleri, random.choice ve tüm dildeki en küçük yararlı program. Her terminal açtığınızda yeni bir alıntı görmek için bunu terminal başlangıcınıza bağlayın – kod yazmayı sessizce daha eğlenceli hale getiren küçük, tatlı şeylerden biri.

12. Adam Asmaca (Basitleştirilmiş)

Gizli bir kelime seçin, tire işaretleri gösterin, kullanıcının harfleri tahmin etmesine izin verin ve altı yanlış denemeden sonra oyunu bitirin. Buradaki diğerlerine göre biraz daha ağır bir proje, ancak basit tutarsanız yaklaşık bir saat içinde yapılabilir.

import random

words = ["python", "syntax", "variable", "function", "module"]
secret = random.choice(words)
guessed = set()
wrong = 0

while wrong < 6:
 display = "".join(c if c in guessed else "_" for c in secret)
 print(display)
 if "_" not in display:
 print("You won")
 break
 letter = input("Guess a letter: ").lower()
 if letter in secret:
 guessed.add(letter)
 else:
 wrong += 1
 print(f"Wrong. {6 - wrong} tries left.")
else:
 print(f"You lost. The word was {secret}.")

Neler öğreneceksiniz: Set (küme) yapısı, içinde koşul barındıran bir metin (string) oluşturma ve daha az bilinen while-else yapısı – else bloğu yalnızca döngü bir break olmadan sona erdiğinde çalışır. O beş kelimeden sıkıldınız mı? Onları bir dosyadan okumayı deneyin. (Yakında sıkılacaksınız zaten.)

13. Birim Dönüştürücü

Yaygın birimler arasında dönüştürme yapın: Santigrat'tan Fahrenheit'a, kilometreden mile, kilogramdan pound'a. Pratik, hızlı biten ve daha sonra kendinizi kullanırken yakalayacağınız türden bir araç.

def c_to_f(c):
 return c * 9/5 + 32

def km_to_mi(km):
 return km * 0.621371

def kg_to_lb(kg):
 return kg * 2.20462

print("1. Celsius to Fahrenheit")
print("2. Kilometers to miles")
print("3. Kilograms to pounds")

choice = input("Pick a converter: ")
value = float(input("Value: "))

if choice == "1":
 print(c_to_f(value))
elif choice == "2":
 print(km_to_mi(value))
elif choice == "3":
 print(kg_to_lb(value))

Neler öğreneceksiniz: Tek bir dosyada birkaç küçük fonksiyon, temel bir menü ve kullanıcının yazdıklarına göre dallanma. Düz dönüştürmeler çalıştıktan sonra terslerini de ekleyin (Fahrenheit'tan Santigrat'a, milden kilometreye). Aynı fikir, yarı çaba, iki kat pratik.

Bu Projelerin Akılda Kalıcı Olmasını Nasıl Sağlarsınız?

Tek bir proje geliştirmek geçici bir andır. İki hafta boyunca günde bir proje geliştirmek ise bir alışkanlıktır. Başlangıç seviyesindeki Python'ı aşanlar ile aşamayanlar arasındaki fark yetenek veya zaman değildir. Fark, pratiğin sürekli hale gelip gelmediğidir.

Sırasıyla yardımcı olacak birkaç şey:

  • Kodu kendiniz yazın, kopyalayıp yapıştırmayın! Sıkıcı ve tekrarlayıcı gelebilir, evet. Ancak kalıpların sadece gözünüze değil, ellerinize de yerleşmesinin tek yolu budur. Hafızanızdan ilk kez import random yazdığınızda, kafanızda bir şeyler netleşmeye başlar.

  • Bilerek bozun. Kod çalıştıktan sonra bir satırı silin, bir fonksiyonu yorum satırı yapın veya bir değişkeni yeniden adlandırın ve ne olduğunu izleyin. Hatayı düzeltmek, projeyi inşa etmekten çok daha fazlasını öğretir. (Bunu denemeden anlamak zordur.)

  • Aynı projeyi iki kez yapın. Bir hafta sonra, sayı tahmin oyununu sıfırdan tekrar yapmayı deneyin. İkinci sefer, aklınızda gerçekten neyin kaldığını gösterir; bu miktar bazen umduğunuzdan daha az olabilir. Ve bu tamamen normaldir!

  • Bir şey ekleyin. Yukarıdaki herhangi bir projeyi alın ve küçük bir ekleme yapın. Yapılacaklar listesini bir dosyaya kaydedin. Zar atma uygulamasının sonuçları tek tek yazdırmasını sağlayın. Öğrenme süreci tam da bu ekstra kısımdadır, çünkü hiç kimse sizin versiyonunuzu tam olarak nasıl yapacağınızı yazmamıştır.

Günlük pratik yapmakta zorlanıyorsanız, Coddy'nin var olma sebebi tam olarak budur. Kısa, beş dakikalık Python dersleri, motivasyonunuz düştüğünde sizi geri çeken bir seri (streak) sistemi ve takıldığınızda doğrudan dersin içinden Bugsy'den alacağınız yapay zeka ipuçları.

Python dahil her kursa başlamak ücretsizdir. Coddy'yi tam olarak bulunduğunuz durum için tasarladık: eğitimleri bitirmiş, henüz kendine tam güvenemeyen ve tüm akşamını harcamayacak pratikler arayanlar için.

Sırada Ne İnşa Etmelisiniz?

Yukarıdaki projeler çok kolay gelmeye başladığında, aşmaya çalıştığınız sınırı zaten geçmişsiniz demektir. Harika iş! Bir sonraki durak orta seviye projelerdir – bir veya iki kütüphane ile biraz dosya veya ağ girdi/çıktısı (I/O) içeren türden projeler. Seviyeyi biraz yükseltecek birkaç fikir:

  • requests kütüphanesini ve ücretsiz bir hava durumu API'sini kullanan bir hava durumu uygulaması
  • Okuduğunuz bir siteden manşetleri çeken BeautifulSoup ile yazılmış bir web kazıyıcı (web scraper)
  • Birkaç odası ve bir envanter listesi olan metin tabanlı bir macera oyunu
  • Oturumlarınızı bir CSV dosyasına kaydeden bir pomodoro zamanlayıcı
  • Rastgele bir şaka içeren tek bir sayfa sunan basit bir Flask uygulaması

Bunların hiçbiri ileri düzey değildir. Zaten bildiğiniz iki veya üç şeyi ve yeni bir modülü bir araya getirirler. Hangisi kulağa en eğlenceli geliyorsa onu seçin, çünkü gerçekten bitireceğiniz proje o olacaktır.

Eğitimler, sizi kendi başınıza bırakıp kendiniz düşünmenizi istedikleri an yetersiz kalır. Projeler ise, en basitleri bile, sizi düşünmeye zorlar. Yeterince proje yaparsanız, eğitim tuzağı artık bir tuzak olmaktan çıkar.

Eğitim tuzağına mı kısıldınız?

Coddy, beş dakikalık Python dersleri, günlük seriler ve cevabı doğrudan vermek yerine ipuçları sunan yapay zeka asistanı Bugsy ile sizi pasif izleyicilikten çıkarıp aktif kod yazmaya yönlendirir.

Kod Yazmaya Şimdi Başlayın

About the Author

Coddy Team

Coddy Team

Editorial Team

Frequently Asked Questions

Yeni başlayan biri için en kolay Python projesi hangisidir?

Sayı tahmin oyunu standart cevaptır. Kısa olmasının yanı sıra tek bir programda girdileri, döngüleri ve koşullu ifadeleri kullanır ve çalıştırıldığında gerçek bir oyun hissi verir. Çoğu kişi, bir while döngüsünün ne işe yaradığını yeni öğrenmiş olsa bile bu projeyi 20 dakikada tamamlayabilir.

Kolay Python projeleri ne kadar sürmeli?

On dakikadan bir saate kadar sürebilir. Eğer bir proje üzerinde üç saat harcıyorsanız, bu proje ya şu anki seviyeniz için çok zordur ya da içinden çıkılması gereken bir hata ayıklama (debugging) çıkmazına girmişsinizdir. Daha küçük bir proje seçin, onu bitirin ve sonra buna geri dönün.

Bu projeleri yapmak için herhangi bir şey yüklemem gerekiyor mu?

Projeleri yerel olarak çalıştırmak istiyorsanız evet, istemiyorsanız hayır. Python'ı python.org adresinden yüklemek yaklaşık beş dakika sürer. Veya kurulumu tamamen atlayıp projeleri Coddy'nin içindeki gibi kurulum gerektirmeyen, tarayıcı içi bir oyun alanında (playground) çalıştırabilirsiniz.

Bu Python projeleri özgeçmiş (CV) için iyi midir?

Tek başlarına hayır. Bir özgeçmiş projesinin genellikle küçük bir web uygulaması, iş yerinde gerçek bir şeyi otomatikleştirmek için kullandığınız bir betik (script) veya açık kaynaklı bir projeye yapılan katkı gibi daha derinlikli olması gerekir. Buradaki 13 proje, portföy parçaları değil, özgüven kazandıran basamak taşlarıdır. Sizi daha sonra özgeçmişe layık şeyler geliştirmeye hazırlar.

Bu projelerden hangi Python kavramlarını öğreneceğim?

Bu 13 proje boyunca değişkenlere, girdi ve çıktıya, koşullu ifadelere, döngülere, fonksiyonlara, listelere, sözlüklere (dictionaries), kümelere (sets), random modülüne, time modülüne, f-string'lere, list comprehensions yapılarına ve collections ile string gibi birkaç standart kütüphane modülüne değineceksiniz. Bu, dilin oldukça sağlam ve işlevsel bir kısmıdır.

Kodum çalışmazsa ne yapmalıyım?

Hata mesajını okuyun. Yeni başlayanların karşılaştığı hataların çoğu, genellikle paniklemeye başladığınız satırın hemen üstünde, neyin yanlış gittiğini neredeyse tam olarak söyler. Hata mesajını Google'da aratın, Bugsy gibi bir yapay zeka asistanından bunu açıklamasını isteyin veya bir forumda paylaşın. Hata ayıklama (debugging), tıpkı kod yazma gibi pratik yaptıkça gelişen bir beceridir.

Bu projeleri telefonda yapabilir miyim?

Evet. Python, içinde yerleşik bir kod oyun alanı (playground) barındıran Coddy uygulaması da dahil olmak üzere mobil kodlama ortamlarında çalışır. Eliniz büyüklüğündeki bir ekranda kurumsal yazılımlar yazamazsınız ancak küçük pratik projeleri bu şekilde gayet iyi çalışır. Üstelik birçok insan, telefonda bilgisayarda yapabileceğinden çok daha fazla pratik yapma fırsatı bulur.

Kolay Python projelerinden sonraki adım nedir?

Daha fazla kavramı birleştiren orta düzey projeler: küçük bir web kazıyıcı (web scraper), bir API istemcisi, bir sayfa sunan Flask veya Django uygulaması ya da bir klasördeki dosyaları işleyen bir betik (script). Yeni bir kütüphane kullanan ve harici bir şeye bağlanan her şey faydalı bir sonraki aşamadır. Kendi hayatınızdaki küçük bir sorunu çözen bir proje seçin. İşte o zaman projeyi gerçekten bitirirsiniz.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA