Python ile Kanji Öğretici

Katılım
27 Nisan 2020
Mesajlar
529
Reaksiyon skoru
304
Merhabalar Python'da daha yeniyim bir yandan da Japonca öğreniyorum. Japoncada Kanji dediğimiz Çince karakterler var. "七" mesela bu karakter yedi anlamına geliyor ve bunun onyomi ve kunyomi olarak iki farklı okunuşu var.
Yapmak istediğim şu;
Bu karakterleri 0'dan 50'ye kadar olan sayılara atayacağım. Random modülü ile rastgele sayı çağırıp sayıya karşılık gelen karakteri ekrana yazdıracağım.
Ekrana çıkan karakterin ilk önce anlamını sonra onyomisini ve kunyomisini sorup cevapları kontrol edip true ya da false bilgisini yazdıracağım.

Dediğim gibi yeni olduğum için bildiğim modülleri ve kütüphaneleri kullanmaya çalıştım ama pek beceremedim. O yüzden buraya böyle bir konu açmak istedim.
Hangi modülleri kullanmalıyım? Hangi kütüphaneleri kullanmalıyım? Nasıl Bir yol izlemeliyim yardımcı olur musunuz?

Aklıma derste öğrendiğim pandas modülü ile dataframe yapıp bilgileri oradan çekmek oldu ama sonrasında pek mantıklı gelmedi.
 
Modül yada kütüphane gerekmez. UTF-8 desteğini ilk satır da aktif edip, Kanji karakterlerini bir diziye atadıktan sonra dizi eleman sırasına +1 ekleyerek sayıları çağırabilirsin. Daha önce dizi elemanı olarak diziye Kanji karakterlerini eklemelisin. Sıfır numaralı dizi elemanını boşluk bırakabilirsin.
 
Son düzenleme:
#-*- coding:utf-8 -*-
Bu satırı dosyanın başına ekleyebilirsin.
 
Modül yada kütüphane gerekmez. UTF-8 desteğini iki satır da aktif edip, Kanji karakterlerini bir diziye aradıktan sonra dizi eleman sırasına +1 ekleyerek sayıları çağırabilirsin. Daha önce dizi elemanı olarak diziye Kanji karakterlerini eklemelisin. Sıfır numaralı dizi elemanını boşluk bırakabilirsin.
O aklıma geldi ancak sorgulama kısmında onyomisini, kunyomisini, anlamını ayrı soracağımdan daha iyi seçenekler olabileceğini düşünüyorum.
Mesajlar otomatik olarak birleştirildi:

nerden çalışıyorsun udemy felan mı
BTKAkademi'den çalışıyorum.
 
Son düzenleme:
Kütüphanelere gerek yok gereksiz yavaşlık olur. karakter, onyomisi,kunyomisi ve anlamları için 4 dizi oluştur. karaktere göre sırayla diğer dizilere diğer bilgilerini doldur. sonra random çekerken dizileri enumerate ile gönderirsen sana index sayılarını da verir. örneğin karakter dizisinin 43. elemanı geldiyse diğer dizilerdeki 43. elemanlar da o karakterin diğer bilgilerine denk gelir. kullanıcıdan aldığın girdiler ile randomdan gelen veriler eşitse true değilse false döndürürsün
 
Kütüphanelere gerek yok gereksiz yavaşlık olur. karakter, onyomisi,kunyomisi ve anlamları için 4 dizi oluştur. karaktere göre sırayla diğer dizilere diğer bilgilerini doldur. sonra random çekerken dizileri enumerate ile gönderirsen sana index sayılarını da verir. örneğin karakter dizisinin 43. elemanı geldiyse diğer dizilerdeki 43. elemanlar da o karakterin diğer bilgilerine denk gelir. kullanıcıdan aldığın girdiler ile randomdan gelen veriler eşitse true değilse false döndürürsün
Python:
import random

kanji=['上','下','大','工','八','入']
meaning=["above","below","big","construction","eight","enter"]
on=["じょう","か","だい","こう","はち","にゅう"]
kun=["うえ","した","おお","nan","や","はい"]


for index, kanji in enumerate(kanji, start=0):
  print(index, kanji)


for x in range(1):
 randint = (random.randint(0, 6))
 print(randint)

Böyle bir şey yaptım ancak bütün bu dizeleri index numarasına nasıl bağlayacağım şimdi?
 
Python:
import random

kanji=["上","下","大","工","八","入"]
meaning=["above","below","big","construction","eight","enter"]
on=["じょう","か","だい","こう","はち","にゅう"]
kun=["うえ","した","おお","nan","や","はい"]


for index, kanji in enumerate(kanji, start=0):
  print(index, kanji)

randint = (random.randint(0, 5))

print("Rastgele secilen sayi: ",randint)
print("Anlamı: ",meaning[randint])
print("On karsiligi: ",on[randint])
print("Kun karsiligi: ",kun[randint])

randintte gelen sayı diğer dizilerin indexlerinde aynı kelimenin anlamını yazılışını vermiş oluyor zaten.
 
Python:
[ICODE]

import random

LANG="UTF-8"



kanji=["上","下","大","工","八","入"]

meaning=["above","below","big","construction","eight","enter"]

on=["じょう","か","だい","こう","はち","にゅう"]

kun=["うえ","した","おお","nan","や","はい"]



for index, kanji in enumerate(kanji, start=0):

  print(index, kanji)

randint = (random.randint(0, 5))

 

#randomkanji=kanji[randint]

#print(randomkanji)

kanjimeaning=meaning[randint]

print(kanjimeaning)

kanjion=on[randint]

print(kanjion)

kanjikun=kun[randint]

print(kanjikun)

Böyle yaptım ancak random kanjiyi yazdırdığımda string index out of range yazıyor. Sadece 0. indexi alabiliyorum nedeni nedir enumerate ile mi alakalı?
 
Geri
Top