Şimdi Ara

String index out of range hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
2.155
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, python için edx kursu alıyorum. Kurs için bir proje yapmam gerekiyor. Proje, bir cümleyi alıp o cümlenin içindeki kelimelerden "g" harfinden sonraki harfler ile başlayanları yazdırmamı istiyor. Yani alfabetik olarak "g"den sonra gelen harflerle başlayan kelimeleri yazdırıyor.
    Benim düşündüğüm program şöyle bir şey :

    quote_1 = input("write a quote here: ")
    quote = quote_1 + " "
    for character in quote:
    if character.isalpha():
    word += character
    else:
    if word.lower() >= "h":
    print(word.upper())
    word = ""
    else:
    word = ""

    Program istediğim gibi çalıştı, bir sorun yok ama if word.lower() >= "h": olan kısımda ben kelimenin baş harfinin "g"den sonra gelmesini istiyorum. Yani if word[0].lower() gibi bir şey denedim, index 0'ı değerlendirmek için; ama bu şekilde yazarsam "string index out of range" hatası veriyor, nedeni ne olabilir ?
    Programlamada çok yeniyim, bu yüzden anlatmak istediğimi tam anlatamadım; kusura bakmayın. Umarım yardımcı olabilirsiniz.

    Edit: Kolay okunabilmesi için ss koydum.
    String index out of range hatası



    < Bu mesaj bu kişi tarafından değiştirildi The Dread Wolf -- 2 Eylül 2017; 19:55:4 >







  • Up

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Şöyle yaptım ve bir hata almıyorum.

    String index out of range hatası

    Edit: En sondaki else de word değil words olucak.



    < Bu mesaj bu kişi tarafından değiştirildi imammmm -- 3 Eylül 2017; 14:32:50 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • imammmm İ kullanıcısına yanıt
    Normalde de çalıştı program ama benim takıldığım kısım şu :

    If words.lower() >= "h":

    Bu kısımda kelimenin ilk harfinin alfabetik olarak "g"den büyük olmasını istiyoruz ya ben dedim ilk harfe bakacaksak index 0a bakayım. Yani

    If words[0].lower() >= "h": gibi bir kod yazamıyor muyuz ?

    Hem .lower() hem de [0] kullanmak hatalı mı oluyor yani ?

    Bu kısmı anlayamadım da

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Hocam bence asıl sıkıntı word isimli string dizinin belli boyutlarda olmaması. Girilen inputa göre değişiyor. O kısımda bir sıkıntı var bence.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • ilk kelimeyi yazdırdıktan sonra else ile word="" yapıyoruz ya sonrakinde
    .isalpha( her neyse bu :D) olan yer ile wordu doldurmazsak word[0] diye bir şey olmuyor ama oradaki kod çalışıyor ve bulamayınca hata veriyor
    If words[0].lower() >= "h": # böyle bir şey yazabiliriz sorun çıkartmıyor başka yerde az önce denedim
    ben böyle anladım ben de pek bir şey bilmiyorum

    edit: ilk else yerine " elif bool(word): " veya " elif word !="": " yazarsak word boşsa çalışmaz ve sonraki adıma geçmez devam eder, bu şekilde sorun olmaz muhtemelen



    < Bu mesaj bu kişi tarafından değiştirildi alimmm78 -- 4 Eylül 2017; 11:29:53 >
    < Bu ileti mini sürüm kullanılarak atıldı >
  • Anladım sanırım, teşekkürler

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.