Neler Yeni

Python kodum hata veriyor neden ?

EMGRANDO

80+ Bronze
Katılım
9 Nisan 2020
Mesajlar
1,830
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.
 

EMGRANDO

80+ Bronze
Katılım
9 Nisan 2020
Mesajlar
1,830
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
Mesaj otomatik birleştirildi:

Ve konun görüldüğü için anasayfa da daha çok mesaj geliyor
 

oguzhnsrmn

80+ Gold
Katılım
22 Eylül 2020
Mesajlar
8,812
En İyi Cevap
8
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
Mesaj otomatik birleştirildi:

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.
 

Emirhandkee

80+ Titanium
Katılım
25 Mart 2020
Mesajlar
22,711
En İyi Cevap
45
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?
 

Emirhandkee

80+ Titanium
Katılım
25 Mart 2020
Mesajlar
22,711
En İyi Cevap
45
Tamam bende öğrenciyim ama sizin kadar bildiğimi sanmıyorum , udemy kursunun linkini atabilrmisiniz ?
Mesaj otomatik birleştirildi:

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
 

oguzhnsrmn

80+ Gold
Katılım
22 Eylül 2020
Mesajlar
8,812
En İyi Cevap
8
Mesaj otomatik birleştirildi:


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.
Mesaj otomatik birleştirildi:

Mesaj otomatik birleştirildi:


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: 46

Emirhandkee

80+ Titanium
Katılım
25 Mart 2020
Mesajlar
22,711
En İyi Cevap
45
Konsoldan yapmadım Spyder'dan yaptım 2 saniyeye atıyorum.
Mesaj otomatik birleştirildi:
oyun_sonuu tanımlanmamış. Büyük ihitmal oyun_sonu yerine oyun_sonuu yazmışsın.
 
Katılım
16 Ağustos 2020
Mesajlar
348
Dahası  
Reaksiyon skoru
131
İsim
Yunus Arıkan
Kelime hatası yapmışsın,yazimlarina dikkat edip geri dönebilir misin
 
Yeni mesajlar Yeni Konu Aç      

SON KONULAR

Çevrim içi yöneticiler

  • B1L0
    Hayırlı forumlar

Forum istatistikleri

Konular
894,926
Mesajlar
8,209,023
Üyeler
138,444
Son üye
nakkaf
Top Bottom