Neler Yeni

Python kodum hata veriyor neden ?

Up
Up
Up
nedir hocam? yeniyim forumda
Yükseltme amaçlı yazdım hocam
Up 5 harfden kısa olduğu için olmuyor bende up up up yazdim .
Yükselt de yazabilirim ama öyle yazsaydım sana emir vermiş gibi olurdum.
 
Yükseltme amaçlı yazdım hocam
Up 5 harfden kısa olduğu için olmuyor bende up up up yazdim .
Yükselt de yazabilirim ama öyle yazsaydım sana emir vermiş gibi olurdum.
Yükseltme derken hocam anlamadım.
 
Yükseltme derken hocam anlamadım.
Hani ana sayfada 10 konu oluyor ya belli bir süre konuya mesaj yazilmayinca ordan düşüyor. Yükseltince o 10 konudan biri oluyor tekrardan
Post automatically merged:

Ve konun görüldüğü için anasayfa da daha çok mesaj geliyor
 
Hani ana sayfada 10 konu oluyor ya belli bir süre konuya mesaj yazilmayinca ordan düşüyor. Yükseltince o 10 konudan biri oluyor tekrardan
Post automatically merged:

Vr konun görüldüğü için anasayfa da daha çok mesaj geliyor
Anladım sağolun konuya bakcaklara not bir sitedekinin aynısını yazdım bakarak fakat çalışmıyor anlamadım tek tek kontrol ettim.
 
Kod:
import json
import os

try:
    from termcolor import cprint
except ImportError:
    def cprint(*args, **kwargs):
        print(*args)

kelimeler = ["vantilatör", "adaptör", "kalem", "fare", "telefon", "kulaklık", "pervane", "merdane", "kestane"]


def oyun_hazirlik():
    """Oyun için gerekli değişkenleri tanımlar"""
    global secilen_kelime, gorunen_kelime, can
    import random
    secilen_kelime = random.choice(kelimeler)
    gorunen_kelime = ["-"] * len(secilen_kelime)
    can = 5


def harf_al():
    """Kullanıcıdan bir harf alır, alana kadar gerekirse hata verir, birisi quit yazarsa programı kapatır"""
    devam = True
    while devam:
        harf = input("Bir harf giriniz: ")
        if harf.lower() == "quit":
            cprint("Gidiyor gönlümün efendisi...", color="red", on_color="on_blue")
            exit()
        elif len(harf) == 1 and harf.isalpha() and harf not in gorunen_kelime:
            devam = False
        else:
            cprint("Hatalı Giriş", color="red", on_color="on_grey")

    # noinspection PyUnboundLocalVariable
    return harf.lower()


def oyun_dongusu():
    """Oyunun ana döngüsü, harf alır, tutarsa görünen karakterler listesi güncellenir,
     tutmazsa can azaltılır, ve bu can bitene kadar ya da kelime bilinene kadar devam eder..."""
    global gorunen_kelime, can
    while can > 0 and secilen_kelime != "".join(gorunen_kelime):
        cprint("kelime: " + "".join(gorunen_kelime), color="cyan", attrs=["bold"])
        cprint("can   : <" + "❤" * can + " " * (5 - can) + ">", color="cyan", attrs=["bold"])

        girilen_harf = harf_al()
        pozisyonlar = harf_kontrol(girilen_harf)
        if pozisyonlar:
            for p in pozisyonlar:
                gorunen_kelime[p] = girilen_harf
        else:
            can -= 1


def harf_kontrol(girilen_harf):
    """Gelen harfin seçilen kelimede nerelerde olduğunu bulur"""
    poz = []
    for index, h in enumerate(secilen_kelime):
        if h == girilen_harf:
            poz.append(index)
    return poz


def skor_tablosunu_goster():
    """Skor tablosunu gösterir"""
    veri = ayar_oku()
    cprint("|Skor\t\tKullanıcı|", color="white", on_color="on_grey")
    cprint("|------------------------|", color="white", on_color="on_grey")
    for skor, kullanici in veri["skorlar"]:
        cprint("|"+str(skor) +"\t\t"+ kullanici+" "*(9-len(kullanici))+"|", color="white", on_color="on_grey")
    cprint("|------------------------|", color="white", on_color="on_grey")


def skor_tablosunu_guncelle():
    """Skor tablosunu son kullanıcının ismiyle ve skoruyla günceller"""
    veri = ayar_oku()
    veri["skorlar"].append((can, veri["son_kullanan"]))
    veri["skorlar"].sort(key=lambda skor_tuplei: skor_tuplei[0], reverse=True)
    veri["skorlar"] = veri["skorlar"][:5]
    ayar_yaz(veri)


def oyun_sonucu():
    """Oyun bittiğinde kazanıp kazanamadığımızı ekrana yazar."""
    if can > 0:
        cprint("Kazandınız", color="yellow", on_color="on_red")
        skor_tablosunu_guncelle()
    else:
        cprint("Kaybettiniz", color="red", on_color="on_yellow")
    skor_tablosunu_goster()


def dosyay_kontrol_et_yoksa_olustur():
    """Ayar dosyası var mı kontrol eder, varsa sağlam mı diye bakar,
    bozuk ya da olmayan durum için dosyayı öntanımlı değerlerle oluşturur"""
    yaz = False
    if os.path.exists("ayarlar.json"):
        try:
            ayar_oku()
        except ValueError as e:
            cprint("Hata: ValueError(" + ",".join(e.args) + ")", color="red", on_color="on_blue", attrs=["bold"])
            os.remove("ayarlar.json")
            yaz = True
    else:
        yaz = True

    if yaz:
        ayar_yaz({"skorlar": [], "son_kullanan": ""})


def ayar_oku():
    """Ayarlar dosyasını okur"""
    with open("ayarlar.json") as f:
        return json.load(f)


def ayar_yaz(veri):
    """Ayarlar dosyasına gönderilen veriyi yazar"""
    with open("ayarlar.json", "w") as f:
        json.dump(veri, f)


def kullanici_adini_guncelle():
    """Kullanıcıdan isim alıp ayarlara yazdırmaya gönderir"""
    veri = ayar_oku()
    veri["son_kullanan"] = input("Kullanıcı Adınız: ")
    while not veri["son_kullanan"] or len(veri["son_kullanan"]) > 9:
        veri["son_kullanan"] = input("lykpython ile 9 karakter uzunluğunda yazın: ")
    ayar_yaz(veri)


def kullanici_kontrol():
    """Bir önce giriş yapan kullanıcı ismini gösterip kullanıcıya bu siz misiniz diye sorar"""
    veri = ayar_oku()
    print("Son giriş yapan: " + veri["son_kullanan"])
    if not veri["son_kullanan"]:
        kullanici_adini_guncelle()
    elif input("Bu siz misiniz?(e/h) ").lower() == "h":
        kullanici_adini_guncelle()


def main():
    """Programın ana döngüsü, oyunun çalışmasından yükümlü"""
    tekrar_edecek_mi = True
    dosyay_kontrol_et_yoksa_olustur()
    cprint("Merhaba, Adam Asmacaya hoşgeldiniz.", color="cyan", on_color="on_magenta", attrs=["bold"])
    cprint("Yardım: Oyun sırasında quit diyerek çıkabilirsiniz", color="cyan", on_color="on_magenta", attrs=["bold"])
    cprint("-"*30, color="cyan", on_color="on_magenta", attrs=["bold"])
    skor_tablosunu_goster()
    kullanici_kontrol()
    while tekrar_edecek_mi:
        oyun_hazirlik()
        oyun_dongusu();
        oyun_sonucu()
        if input("Devam?(e/h) ").lower() == "h":
            tekrar_edecek_mi = False
    cprint("Gidiyor gönlümün efendisi...", color="red", on_color="on_blue")

main()


Merhaba python öğreniyorum biryerden bakarak hem alıştırma olsun diye adam asmaca oyunu yazdım kod hata veriyor nedendir ? hata veriyor ne yapsam düzelmedi
Hata ne? Konsol da ne yazıyor du?
 
Tamam bende öğrenciyim ama sizin kadar bildiğimi sanmıyorum , udemy kursunun linkini atabilrmisiniz ?
Post automatically merged:

155'inci satırda bir şey çıkmıştı hocam.
155.satır hangisi ve hata ismi neydi?
Şöyle bir metin çıkması lazım konsol da. Onun resmini atın.
1600878635224.png
 
Post automatically merged:


155.satır hangisi ve hata ismi neydi?
Şöyle bir metin çıkması lazım konsol da. Onun resmini atın.
Alıntıyı görüntüle
Konsoldan yapmadım Spyder'dan yaptım 2 saniyeye atıyorum.
Post automatically merged:

Post automatically merged:


155.satır hangisi ve hata ismi neydi?
Şöyle bir metin çıkması lazım konsol da. Onun resmini atın.
Alıntıyı görüntüle
 

Ekler

  • Ekran Alıntısıadasd.PNG
    Ekran Alıntısıadasd.PNG
    5.6 KB · Hit: 79
Konsoldan yapmadım Spyder'dan yaptım 2 saniyeye atıyorum.
Post automatically merged:
oyun_sonuu tanımlanmamış. Büyük ihitmal oyun_sonu yerine oyun_sonuu yazmışsın.
 
Geri
Top