Orta düzeydeki Python uygulamam

ı love you

Hectopat
Katılım
27 Haziran 2020
Mesajlar
1.242
Çözümler
4
@Nahri
Hocam daha iyi projeler bekliyorum demiştiniz. 4-5 saattir yapmaya çalıştığım adam asmaca oyununu tamamladım. Başım ağrıdı hataları düzeltene kadar. Biraz meşakkatliymiş bu işle ama olsun.
Python:
import random
import sys
from time import sleep

kelime_listesi = ["ağaç", "okul", "saldırı", "Birlik", "Atatürk", "resim", "iskender", "koşu" ,"python"]
tahminEdilen_kelime = []
gizli_kelime = random.choice(kelime_listesi)
kelime_uzunluğu = len(gizli_kelime)
alfabe = "abcdefghijklmnopqrstuvwxyz"
harf_deposu =[]

def kurallar():
    for karakter in gizli_kelime:
        tahminEdilen_kelime.append("-")
    print("Tahmin Etmeniz Gereken kelimede ", kelime_uzunluğu, "Harf Var")
    sleep(1)
    print("10 Tahmin Hakkınız Var")
    sleep(1)
    print("10 seferde bilemzseniz oyunu kaybedersiniz")
    print(tahminEdilen_kelime)


def kelimeTahmin_etme():
    while True:
        kelime_tahmin = input("Tüm kelimeyi tahmin etmek ister misiniz? Yanlış tahmin ederseniz oyunu kaybedersiniz.")
        if kelime_tahmin == "evet":
            kelime_tahmindeneme = input("Kelimeyi tahmin edin:")
            if kelime_tahmindeneme == gizli_kelime:
               print("Tebrikler Doğru Cevap")
               sys.exit()
            else:
                print("Yanlış kelimeyi tahmin ettiniz! Oyun bitti.")
                sleep(1)
                print("Gizli kelime", gizli_kelime)
                sys.exit()
        elif (kelime_tahmin == "hayır"):
            print("Tamam oyuna devam edelim")
            break
        else:
            print("Lütfen evet veya hayır diye bir cevap verin")
            continue
       

def harf_tahminEtme():
    tahminSayısı = 0
   
    while tahminSayısı <10:
        kelimeTahmin_etme()
        harf_deneme = input("Bir harf deneyin")
        if not harf_deneme in alfabe:
            print("Lütfen alfabeden bir harf seçiniz")
        elif harf_deneme in harf_deposu:
            print("Bu harfi zaten tahmin ettiniz")
        else:
            harf_deposu.append(harf_deneme)
           
        if harf_deneme in gizli_kelime:
            print("Doğru Tahmin")
            for x in range(0, kelime_uzunluğu):
                if gizli_kelime[x] == harf_deneme:
                    tahminEdilen_kelime[x] = harf_deneme
                    print(tahminEdilen_kelime)
                if not "-"  in tahminEdilen_kelime:
                    print("Tebrikler kazandınız!")
                    break
        else:
            print("Yanlış tahmin tekrara deneyin")
            tahminSayısı += 1
        if tahminSayısı == 10:
           print("Kaybettiniz. Gizli kelime: ", gizli_kelime)

kurallar()
harf_tahminEtme()
 
Hocam nasıl çalıştırabiliriz acaba? Eğer güzelse oynarım.
Python interpreted olduğu için bilgisayarda Python yüklü olmalı. Ardından kodları ".py" uzantılı bir dosyaya yapıştırıp kaydederek çalıştırabilirsiniz.

Ancak herkeste Python olmayacağından, konu sahibi dosyayı ".exe" olarak verseydi, herkes rahat rahat çalıştırabilirdi.

Proje orta düzey değil ama yeni öğreniyorsanız güzel gibi. Kodu detaylı olarak incelemedim ama düzgün çalışıyorsa öğrenmek için iyi bir proje.

Bu tarz projelerinizi paylaşmak için de GitHub kullanmanızı öneririm.
 
@Nahri
Hocam daha iyi projeler bekliyorum demiştiniz. 4-5 saattir yapmaya çalıştığım adam asmaca oyununu tamamladım. Başım ağrıdı hataları düzeltene kadar. Biraz meşakkatliymiş bu işle ama olsun.
Python:
import random
import sys
from time import sleep

kelime_listesi = ["ağaç", "okul", "saldırı", "Birlik", "Atatürk", "resim", "iskender", "koşu" ,"python"]
tahminEdilen_kelime = []
gizli_kelime = random.choice(kelime_listesi)
kelime_uzunluğu = len(gizli_kelime)
alfabe = "abcdefghijklmnopqrstuvwxyz"
harf_deposu =[]

def kurallar():
    for karakter in gizli_kelime:
        tahminEdilen_kelime.append("-")
    print("Tahmin Etmeniz Gereken kelimede ", kelime_uzunluğu, "Harf Var")
    sleep(1)
    print("10 Tahmin Hakkınız Var")
    sleep(1)
    print("10 seferde bilemzseniz oyunu kaybedersiniz")
    print(tahminEdilen_kelime)


def kelimeTahmin_etme():
    while True:
        kelime_tahmin = input("Tüm kelimeyi tahmin etmek ister misiniz? Yanlış tahmin ederseniz oyunu kaybedersiniz.")
        if kelime_tahmin == "evet":
            kelime_tahmindeneme = input("Kelimeyi tahmin edin:")
            if kelime_tahmindeneme == gizli_kelime:
               print("Tebrikler Doğru Cevap")
               sys.exit()
            else:
                print("Yanlış kelimeyi tahmin ettiniz! Oyun bitti.")
                sleep(1)
                print("Gizli kelime", gizli_kelime)
                sys.exit()
        elif (kelime_tahmin == "hayır"):
            print("Tamam oyuna devam edelim")
            break
        else:
            print("Lütfen evet veya hayır diye bir cevap verin")
            continue
      

def harf_tahminEtme():
    tahminSayısı = 0
  
    while tahminSayısı <10:
        kelimeTahmin_etme()
        harf_deneme = input("Bir harf deneyin")
        if not harf_deneme in alfabe:
            print("Lütfen alfabeden bir harf seçiniz")
        elif harf_deneme in harf_deposu:
            print("Bu harfi zaten tahmin ettiniz")
        else:
            harf_deposu.append(harf_deneme)
          
        if harf_deneme in gizli_kelime:
            print("Doğru Tahmin")
            for x in range(0, kelime_uzunluğu):
                if gizli_kelime[x] == harf_deneme:
                    tahminEdilen_kelime[x] = harf_deneme
                    print(tahminEdilen_kelime)
                if not "-"  in tahminEdilen_kelime:
                    print("Tebrikler kazandınız!")
                    break
        else:
            print("Yanlış tahmin tekrara deneyin")
            tahminSayısı += 1
        if tahminSayısı == 10:
           print("Kaybettiniz. Gizli kelime: ", gizli_kelime)

kurallar()
harf_tahminEtme()
Küçük ve çok da önemli olmayan bir önerim var. Kelimeyi tahmin ederken büyük küçük harf problemi çıkıyor. Sanırım bunun için bir şey vardı yazılan tüm cümleyi büyüten upperdi galiba. Küçüleni hatırlamıyorum.
(Ben de yeniyim yanlış bir şey yazdıysam affola.)
 

Yeni konular

Geri
Yukarı