Python, basit ve okunabilir sözdizimi sayesinde hem yeni başlayanlar hem de deneyimli yazılımcılar için popüler bir dildir. Web geliştirmeden veri bilimine, yapay zekadan robotik kontrolüne kadar geniş bir kullanım alanına sahiptir. Bu sayfada, farklı seviyelerdeki kullanıcılar için tasarlanmış temel Python projelerini bulabilirsin. Kod yazma becerilerini geliştirmek için harika bir başlangıç noktası!
1. Yeni Başlayanlar İçin Temel Projeler
Bu projeler, Python'ın temel kavramlarını (değişkenler, döngüler, koşullu ifadeler) pekiştirmenize yardımcı olacaktır.
1.1. Hesap Makinesi Uygulaması
Kullanıcının girdiği iki sayı üzerinde toplama, çıkarma, çarpma ve bölme gibi temel aritmetik işlemleri yapan basit bir konsol uygulamasıdır. Bu proje, kullanıcıdan girdi almayı ve if-elif-else koşullarını kullanmayı öğretir.
# Basit Hesap Makinesi Uygulaması
def hesap_makinesi():
print("İşlem seçin (+, -, *, /):")
islem = input("İşlem: ")
sayi1 = float(input("İlk sayıyı girin: "))
sayi2 = float(input("İkinci sayıyı girin: "))
if islem == '+':
sonuc = sayi1 + sayi2
elif islem == '-':
sonuc = sayi1 - sayi2
elif islem == '*':
sonuc = sayi1 * sayi2
elif islem == '/':
if sayi2 != 0:
sonuc = sayi1 / sayi2
else:
return "Sıfıra bölme hatası!"
else:
return "Geçersiz işlem!"
return f"Sonuç: {sonuc}"
print(hesap_makinesi())
1.2. Sayı Tahmin Oyunu
Bilgisayarın rastgele bir sayı belirlediği ve kullanıcının bu sayıyı tahmin etmeye çalıştığı bir oyundur. Bu proje, random modülünü, while döngülerini ve koşullu mantığı kullanmayı pratik etmenizi sağlar.
import random
def sayi_tahmin_oyunu():
hedef_sayi = random.randint(1, 100)
tahmin = 0
tahmin_sayisi = 0
print("1 ile 100 arasında bir sayı tahmin et.")
while tahmin != hedef_sayi:
tahmin = int(input("Tahminini gir: "))
tahmin_sayisi += 1
if tahmin < hedef_sayi:
print("Daha büyük bir sayı tahmin et.")
elif tahmin > hedef_sayi:
print("Daha küçük bir sayı tahmin et.")
else:
print(f"Tebrikler! Sayıyı {tahmin_sayisi} tahminde buldun.")
sayi_tahmin_oyunu()
2. Orta Seviye Projeler
Bu projeler, dosyalarla çalışmayı, kütüphaneleri kullanmayı ve daha karmaşık algoritmalar geliştirmeyi öğrenmenizi sağlar.
2.1. Basit Not Defteri Uygulaması
Metin tabanlı bir not defteri uygulamasıdır. Kullanıcı, not ekleyebilir, notları listeleyebilir ve mevcut notları görüntüleyebilir. Bu proje, **dosya okuma ve yazma** işlemlerini öğrenmek için idealdir.
def not_defteri():
while True:
print("\nİşlem Seçin:")
print("1. Not Ekle")
print("2. Notları Görüntüle")
print("3. Çıkış")
secim = input("Seçiminiz: ")
if secim == '1':
not_metni = input("Notunuzu girin: ")
with open("notlar.txt", "a") as dosya:
dosya.write(not_metni + "\n")
print("Not eklendi.")
elif secim == '2':
try:
with open("notlar.txt", "r") as dosya:
notlar = dosya.read()
print("\n--- Notlar ---")
print(notlar)
except FileNotFoundError:
print("Henüz hiç not yok.")
elif secim == '3':
print("Uygulamadan çıkılıyor...")
break
else:
print("Geçersiz seçim!")
not_defteri()
2.2. Web Verisi Kazıma (Web Scraping) Uygulaması
Belirli bir web sitesinden veri çekerek (örneğin başlıkları veya bağlantıları) bu verileri konsolda gösteren bir uygulamadır. Bu proje için requests
ve BeautifulSoup
gibi popüler Python kütüphanelerini kullanman gerekir.
import requests
from bs4 import BeautifulSoup
# Robotik Hocası Blog sayfasından başlıkları çekme örneği
url = "https://www.robotikhocasi.com/blog"
try:
response = requests.get(url)
response.raise_for_status() # HTTP hatalarını kontrol et
soup = BeautifulSoup(response.content, 'html.parser')
# 'h2' etiketindeki başlıkları bul ve yazdır
basliklar = soup.find_all('h2')
print("--- Blog Başlıkları ---")
for baslik in basliklar:
print(baslik.get_text(strip=True))
except requests.exceptions.RequestException as e:
print(f"Hata oluştu: {e}")
Not: Web scraping, hedef sitenin kullanım koşullarına uygun olarak yapılmalıdır. Bu örnek yalnızca eğitim amaçlıdır.
Bu projeler, Python'ın gücünü keşfetmek ve gerçek dünya problemlerine çözümler üretmek için harika birer adımdır. Kod yazmaya devam ederek ve yeni kütüphaneler öğrenerek becerilerini sürekli olarak geliştirebilirsin.