![biIWbE.png](https://i.hizliresim.com/biIWbE.png)
Herkese Selamlar,
Konumuzda, Python'da fikir olabilecek ve kullanılıp geliştirilebilecek bazı projeleri kodları ile paylaşacağım. Dileyen arkadaşlarımız geliştirebilirler.
![yQSIxHzv_o.png](https://images2.imgbox.com/5f/e1/yQSIxHzv_o.png)
Film Öneri Botu
Bu bot, kullanıcıdan alacağı tercihlere göre öneri verecek ve filmleri IMDb veya benzeri platformlardan otomatik olarak çekecek.
Python:
import requests
from bs4 import BeautifulSoup
import random
def film_ara(film_adı):
url = f"https://www.imdb.com/find?q={film_adı}&s=tt"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
filmler = soup.find_all("td", class_="result_text")
if not filmler:
return None
ilk_film = filmler[0].find("a")
film_adı = ilk_film.text
film_linki = "https://www.imdb.com" + ilk_film['href']
return {"film_adı": film_adı, "film_linki": film_linki}
def film_öner():
kategoriler = ["Aksiyon", "Macera", "Komedi", "Drama", "Korku", "Bilim Kurgu"]
secilen_kategori = random.choice(kategoriler)
print(f"Önerilen kategori: {secilen_kategori}")
url = f"https://www.imdb.com/search/title/?genres={secilen_kategori.lower()}"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
filmler = soup.find_all("h3", class_="lister-item-header")
if not filmler:
return None
secilen_film = random.choice(filmler)
film_adı = secilen_film.a.text
film_linki = "https://www.imdb.com" + secilen_film.a['href']
return {"film_adı": film_adı, "film_linki": film_linki}
def ana_menu():
print("--- Film Öneri Botu ---")
print("1. Film Ara")
print("2. Rastgele Film Öner")
print("0. Çıkış")
secim = input("Seçiminizi girin: ")
if secim == "1":
film_adı = input("Aramak istediğiniz film adını girin: ")
film = film_ara(film_adı)
if film:
print(f"{film['film_adı']} için IMDb linki: {film['film_linki']}")
else:
print("Film bulunamadı.")
elif secim == "2":
film = film_öner()
if film:
print(f"Önerilen film: {film['film_adı']}")
print(f"Film linki: {film['film_linki']}")
else:
print("Öneri yapılacak film bulunamadı.")
elif secim == "0":
print("Çıkılıyor...")
else:
print("Geçersiz seçim. Lütfen tekrar deneyin.")
ana_menu()
if __name__ == "__main__":
ana_menu()
![yQSIxHzv_o.png](https://images2.imgbox.com/5f/e1/yQSIxHzv_o.png)
Sohbet Botu
Bu bot, kullanıcılarla metin tabanlı bir şekilde etkileşim kurarak soruları yanıtlayabilir, bilgi sağlayabilir ve hatta bazı komutları gerçekleştirebilir.
Python:
import random
cevaplar = {
"merhaba": "Merhaba! Size nasıl yardımcı olabilirim?",
"nasılsın": "Ben bir yapay zeka olduğum için duygularım yok, ama teşekkür ederim, iyi çalışıyorum!",
"güle güle": "Güle güle! Tekrar görüşmek üzere.",
"saat kaç": "Şu an saat {}.",
"hava nasıl": "Hava durumu bilgilerine erişemiyorum. Lütfen bir hava durumu servisine başvurun.",
"rasgele sayı": "Rasgele bir sayı seçiyorum: {}",
"teşekkürler": "Rica ederim! Sormak istediğiniz başka bir şey var mı?",
}
def bot_cevap(veri):
veri = veri.lower()
cevap = cevaplar.get(veri, "Üzgünüm, anlamadım. Tekrar eder misiniz?")
if "{}" in cevap:
cevap = cevap.format(random.randint(0, 100))
return cevap
def ana_menu():
print("--- Sohbet Botu ---")
print("Bot ile konuşmaya başlamak için 'q' ya basın.")
while True:
kullanıcı_girişi = input("Siz: ")
if kullanıcı_girişi.lower() == "q":
break
cevap = bot_cevap(kullanıcı_girişi)
print("Bot:", cevap)
if __name__ == "__main__":
ana_menu()
![yQSIxHzv_o.png](https://images2.imgbox.com/5f/e1/yQSIxHzv_o.png)
Sesli Asistan
Bu proje, kullanıcının sesli komutlarını algılayarak çeşitli görevleri yerine getirebilir ve bilgi sağlayabilir.
Python:
import speech_recognition as sr
import pyttsx3
import datetime
import wikipedia
import webbrowser
import os
def speak(text):
engine = pyttsx3.init()
engine.say(text)
engine.runAndWait()
def dinle():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Sizi dinliyorum...")
r.pause_threshold = 1
audio = r.listen(source)
try:
print("Anlıyorum...")
komut = r.recognize_google(audio, language="tr-TR").lower()
print(f"Söylediğiniz komut: {komut}")
except sr.UnknownValueError:
print("Üzgünüm, anlayamadım. Tekrar deneyin.")
komut = dinle()
return komut
def saat():
suan = datetime.datetime.now().strftime("%H:%M")
speak(f"Şu an saat {suan}.")
def wikipedia_ara(sorgu):
try:
sonuç = wikipedia.summary(sorgu, sentences=2)
speak(f"Wikipedia'da bulunan bilgilere göre: {sonuç}")
except Exception as e:
speak("Üzgünüm, Wikipedia'da bir sonuç bulunamadı.")
def web_sitelerini_aç(site):
webbrowser.open_new_tab(site)
speak(f"{site} sitesi açılıyor...")
def dosyaları_aç():
os.system("explorer")
def ana_menu():
speak("Merhaba! Size nasıl yardımcı olabilirim?")
while True:
komut = dinle()
if "saat kaç" in komut:
saat()
elif "arama yap" in komut:
speak("Arama yapmak istediğiniz konuyu söyleyin.")
konu = dinle()
wikipedia_ara(konu)
elif "web sitesi aç" in komut:
speak("Açmak istediğiniz web sitesinin adresini söyleyin.")
site = dinle()
web_sitelerini_aç(site)
elif "dosyaları aç" in komut:
dosyaları_aç()
elif "kapat" in komut:
speak("Görüşmek üzere!")
break
else:
speak("Üzgünüm, anlayamadım. Tekrar deneyin.")
if __name__ == "__main__":
ana_menu()
![yQSIxHzv_o.png](https://images2.imgbox.com/5f/e1/yQSIxHzv_o.png)
Fikir Günlüğü Uygulaması
Bu proje, kullanıcının günlük olarak fikirlerini, düşüncelerini veya notlarını kaydedebileceği basit bir arayüz sunar. Kullanıcılar, fikirlerini yazabilir, kaydedebilir, düzenleyebilir ve istediklerinde görüntüleyebilirler.
Python:
import os
def fikir_kaydet():
print("Fikrinizi girin (Çıkış için 'q' ya basın):")
fikirler = []
while True:
fikir = input()
if fikir.lower() == "q":
break
fikirler.append(fikir)
if fikirler:
with open("fikirler.txt", "a") as dosya:
for fikir in fikirler:
dosya.write(f"{fikir}\n")
print("Fikirleriniz başarıyla kaydedildi.")
else:
print("Hiç fikir girilmedi.")
def fikirleri_goruntule():
try:
with open("fikirler.txt", "r") as dosya:
fikirler = dosya.readlines()
if fikirler:
print("\nFikirleriniz:")
for i, fikir in enumerate(fikirler):
print(f"{i + 1}. {fikir.strip()}")
else:
print("Henüz hiç fikir yok.")
except FileNotFoundError:
print("Henüz hiç fikir yok.")
def fikir_sil():
fikirleri_goruntule()
secim = int(input("\nSilmek istediğiniz fikrin numarasını girin (Çıkış için 0): "))
if secim == 0:
return
try:
with open("fikirler.txt", "r") as dosya:
fikirler = dosya.readlines()
if 0 < secim <= len(fikirler):
fikirler.pop(secim - 1)
with open("fikirler.txt", "w") as dosya:
dosya.writelines(fikirler)
print("Fikir başarıyla silindi.")
else:
print("Geçersiz fikir numarası.")
except FileNotFoundError:
print("Henüz hiç fikir yok.")
def ana_menu():
while True:
print("\n--- Fikir Günlüğü Uygulaması ---")
print("1. Fikir Ekle")
print("2. Fikirleri Görüntüle")
print("3. Fikir Sil")
print("0. Çıkış")
secim = input("Seçiminizi girin: ")
if secim == "1":
fikir_kaydet()
elif secim == "2":
fikirleri_goruntule()
elif secim == "3":
fikir_sil()
elif secim == "0":
break
else:
print("Geçersiz seçim. Lütfen tekrar deneyin.")
if __name__ == "__main__":
if not os.path.exists("fikirler.txt"):
with open("fikirler.txt", "w"):
pass
ana_menu()
![lfn9r51.gif](https://i.hizliresim.com/lfn9r51.gif)