print("Uygulama")
print("""Bu uygulamanın amacı girdiğiniz metinde
yine sizin girdiğiniz sayı , harf veya
işaretin kaç tane olduğunu bulmaktır.""")
metin = input("Metninizi giriniz : ")
while not metin:
print("Bu alan boş bırakılamaz !!!")
metin = input("Metninizi giriniz : ")
isaret = input("Arayacağınız sayı , harf veya işareti giriniz : ")
anahtar = 0
toplam = 0
while anahtar <= len(metin):
if isaret == metin[anahtar]:
toplam += 1
anahtar += 1
print(toplam)
amacım kullanıcının verdiği metinde yine kullanıcının verdi sayı , harf veya işaretin kaç tane olduğunu bulmak ama “String index out of range” adlı hatayı alıyorum.
Not : eğer kullanıcın aramak istediği harf , sayı veya işaret girilen metinde yoksa sorunsuz olarak 0 yazıyor.
Hata aldığın satırın hemen öncesinde değerleri print ile kontrol eder misin?
Büyük ihtimalle metin “” şeklinde boş geldiği için oluyor. Onu da sınırlaman gerek.
burda küçük eşittir yerine küçüktür kullanman gerekir. metin 5 karakter olabilir ama indexleme 0 dan başladığı için metnin son değerinin indexi 4 olur. metin[5] yaparsan tabiki index hatası verir.