Python Koddaki hatanın sebebi nedir?

wert14

Decapat
Katılım
11 Mart 2023
Mesajlar
28
Daha fazla  
Cinsiyet
Erkek
From NT import write.
From random import randint.
İmport JSON.

Dictionarye = {}
Dictionaryt = {}
Dice = {}
Returne = {}
Returnt = {}

Choose = input(""":
A ) random_word.
B ) add_word.
C ) mean.
Choose the Action to be realized:
""")

Def add_word():
English_word = str(input("English Word:"))
English_sentence = str(input("English sentence:"))
Turkish_meaning = str(input("turkish meaning:"))
Dictionarye[f"{english_word}"] = english_sentence.
Dictionaryt[f"{english_word}"] = turkish_meaning.
Return dictionaryt.
Return dictionarye.

Def random_word():
With open("returne. JSON","r" ) as F:
Dice = JSON. Load(F)

Def mean() :
Pass.

Def kayıt():
Returne = JSON. Dumps(dictionarye, indent = 4, sort_keys = true)
Returnt = JSON. Dumps(dictionaryt, indent = 4, sort_keys = true)
With open("returne. JSON", "a") as F:
JSON. Dump(returne, F)
With open("returnt. JSON", "a") as F:
JSON. Dump(returnt, F)

İf choose == "add_word":
add_word()
kayıt()
Elif choose == "random_word":
random_word()
Elif choose == "mean":
mean()

İyi günler. Ben Python eğitimine yeni başladım, biraz öğrendiklerimi pratikleştirmek için bir sözlük yapmaya çalışıyorum.
Sözlüğü kayıt etmek için JSON kulanmıştım, her kelime kayıt ettğimde yeni sözlük açtığı için geri okuyamıyorum yazdıklarımı. Yardımcı olabilecek var mı?
 

Dosya Ekleri

  • image (1).png
    image (1).png
    69 KB · Görüntüleme: 77
  • image (2).png
    image (2).png
    3,2 KB · Görüntüleme: 74
Hocam yazdıklarımı uygulamadan önce lütfen kodunuzun yedeğini alıp sunduğum çözümleri o şekilde deneyiniz:

Kod şu şekilde güncellendi /

import json
from random import randint

dictionarye = {}
dictionaryt = {}

def add_word():
english_word = input("English Word: ")
english_sentence = input("English sentence: ")
turkish_meaning = input("Turkish meaning: ")
dictionarye[english_word] = english_sentence
dictionaryt[english_word] = turkish_meaning
save_data()

def random_word():
with open("returne.json", "r") as f:
dice = json.load(f)
random_key = random.choice(list(dice.keys()))
print(f"Random word: {random_key}, Sentence: {dice[random_key]}")

def mean():
word = input("Enter the word to find the meaning: ")
with open("returnt.json", "r") as f:
meanings = json.load(f)
if word in meanings:
print(f"The meaning of {word} is {meanings[word]}")
else:
print(f"{word} is not in the dictionary.")

def save_data():
with open("returne.json", "w") as f:
json.dump(dictionarye, f, indent=4, sort_keys=True)
with open("returnt.json", "w") as f:
json.dump(dictionaryt, f, indent=4, sort_keys=True)

def main():
choose = input("""
A) random_word
B) add_word
C) mean
Choose the action to be realized:
""")

if choose == "B":
add_word()
elif choose == "A":
random_word()
elif choose == "C":
mean()
else:
print("Invalid choice. Please choose A, B, or C.")

if name == "main":
main()


Bu kodda yapılan değişiklikler:

  • import ifadeleri düzeltildi.
  • def ve diğer Python anahtar kelimeleri küçük harfle yazıldı.
  • save_data fonksiyonu her kelime eklendiğinde JSON dosyasını güncellemek için kullanıldı.
  • random_word ve mean fonksiyonları düzeltildi ve işlevsellik eklendi.
  • main fonksiyonu ile kullanıcıdan seçim alınıp ilgili fonksiyon çağrıldı.
 
  • import ifadeleri düzeltildi.
  • def ve diğer Python anahtar kelimeleri küçük harfle yazıldı.
  • save_data fonksiyonu her kelime eklendiğinde JSON dosyasını güncellemek için kullanıldı.
  • random_word ve mean fonksiyonları düzeltildi ve işlevsellik eklendi.
  • main fonksiyonu ile kullanıcıdan seçim alınıp ilgili fonksiyon çağrıldı.
Keşke her şeyden önce terminale yansıyan hatayı bir okusaydınız. Arkadaş büyük ihtimal forumdakı yazım kurallarına göre düzeltme yaparak attı, nasıl kod paylaşılacağını bilmiyor galiba.

İyi günler. Ben Python eğitimine yeni başladım, biraz öğrendiklerimi pratikleştirmek için bir sözlük yapmaya çalışıyorum.
Sözlüğü kayıt etmek için JSON kulanmıştım, her kelime kayıt ettğimde yeni sözlük açtığı için geri okuyamıyorum yazdıklarımı. Yardımcı olabilecek var mı?
Üstteki arkadaş cevabı hemen hemen vermiş açıkça. Ama olur da hatanın ne olduğunu öğrenip kendiniz çözmek isterseniz terminali okuyup anlamaya çalışmanızı öneririm
 
Son düzenleme:

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı