Çözüldü "String index out of range" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
18 Ağustos 2018
Mesajlar
6.977
Makaleler
4
Çözümler
47
Yer
Denizli
Kod:
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)

Merhabalar Python öğrenmeye daha doğrusu yazılım öğrenmeye yeni yeni başladım. Bu tarz bir şey yazdım ancak "string index out of range" hatası alıyorum. Kendim çözmeye çalıştım, İngilizce veya Türkçe olarak araştırdım birçok yol denedim ancak işe yaramadı. Nerede yanlış yaptım da bu hatayı aldım yardımcı olabilir misiniz?
 
Çözüm
11.satırda "Kanji" dizisini listelerken "index" ve "Kanji" olarak listeliyorsun, burada sorun "Kanji" olarak zaten liste tanımlı olmasına rağmen tekrar aynı "Kanji" isminde listelenmiş objeyi adlandırıyorsun ve 16.satırda kullanmaya çalıştığın "Kanji" değeri liste değil sıralamada son aldığı liste objesi olduğu için tek karakterli objede +0 index değeri almaya çalıştığından bu hatayı veriyor.

Kısaca "index, Kanji" kısmındaki isimlendirmeyi düzenlersen sorun çözülür.
Kod:
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)

Merhabalar Python öğrenmeye daha doğrusu yazılım öğrenmeye yeni yeni başladım. Bu tarz bir şey yazdım ancak "string index out of range" hatası alıyorum. Kendim çözmeye çalıştım, İngilizce veya Türkçe olarak araştırdım birçok yol denedim ancak işe yaramadı. Nerede yanlış yaptım da bu hatayı aldım yardımcı olabilir misiniz?
Hangi satirda aliyorsun bu hatayi?
 
11.satırda "Kanji" dizisini listelerken "index" ve "Kanji" olarak listeliyorsun, burada sorun "Kanji" olarak zaten liste tanımlı olmasına rağmen tekrar aynı "Kanji" isminde listelenmiş objeyi adlandırıyorsun ve 16.satırda kullanmaya çalıştığın "Kanji" değeri liste değil sıralamada son aldığı liste objesi olduğu için tek karakterli objede +0 index değeri almaya çalıştığından bu hatayı veriyor.

Kısaca "index, Kanji" kısmındaki isimlendirmeyi düzenlersen sorun çözülür.
 
Çözüm
Kod:
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)

Merhabalar Python öğrenmeye daha doğrusu yazılım öğrenmeye yeni yeni başladım. Bu tarz bir şey yazdım ancak "string index out of range" hatası alıyorum. Kendim çözmeye çalıştım, İngilizce veya Türkçe olarak araştırdım birçok yol denedim ancak işe yaramadı. Nerede yanlış yaptım da bu hatayı aldım yardımcı olabilir misiniz?
Python:
import random
LANG="UTF-8"


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


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

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)
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni mesajlar

Geri
Yukarı