Python Forum
IndexError: string index out of range ?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IndexError: string index out of range ?
#1
Hello all,

I just start to learn python, working on the chapter of THE BAGELS DEDUCTION GAME.

No matter how hard I am, the order just failed.

Always showing:
Error:
Traceback (most recent call last): File "/Users/qiyin/Downloads/Python37/bagels.py", line 56, in <module> print(getClues(guess, secretNum)) File "/Users/qiyin/Downloads/Python37/bagels.py", line 20, in getClues if len(guess[i]) == len(secretNum[i]): IndexError: string index out of range
This is the order of Line 20 and line 56
Line 20:
    clues = []
    for i in range(len(guess)):
        if guess[i] == secretNum[i]:
            clues.append('Fermi')
        elif guess[i] in secretNum:
            clues.append('Pico')
Line56
while True:
    secretNum = getSecretNum()
    print('I have thought up a number. You have %s guesses to get it.' % (MAX_GUESS))

    guessesTaken = 1
    while guessesTaken <= MAX_GUESS:
        guess = ''
        while len(guess) != NUM_DIGITS or not isOnlyDigits(guess):
            print('Guess #%s: ' % (guessesTaken))
            guess = input()

        print(getClues(guess, secretNum))
        guessesTaken += 1
Anyone could tell me what was happed?

Thanks a lot..

Best
Reply
#2
That error happens when a string index used is not a valid index of the string.

In the next example the last index of 'string' is 5, using 6 gives the error.

>>> 'string'[6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
Reply
#3
Based on your error secretNum[i] is going out of index. Although you shoukdnt be using range(len(sequence)) ever in python.

https://python-forum.io/Thread-Basic-Nev...n-sequence
Reply
#4
(Jul-04-2019, 06:42 PM)Yoriz Wrote: That error happens when a string index used is not a valid index of the string.

In the next example the last index of 'string' is 5, using 6 gives the error.

>>> 'string'[6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

Hello Yoriz,

Thank you for your help about the post and reply. How should I modify this order to make it done?

Best

(Jul-04-2019, 06:44 PM)metulburr Wrote: Based on your error secretNum[i] is going out of index. Although you shoukdnt be using range(len(sequence)) ever in python.

https://python-forum.io/Thread-Basic-Nev...n-sequence


Thank you very much for your help. I just wrote the order from the book, and not totally understood what was this order meaning? Based on the orders I provided, how to modify it to make it done?

Best
Reply
#5
It explains in that link i provided. Instead of looping through indexes you loop directly the sequence.
Reply
#6
Hi,

Quote:I just wrote the order from the book,
If this code is really shown in a book -> throw away the book, it teaches bad Python. Iterating over an iterable with range(len(...)) as an antipattern. Also the style your variable names are written is not the pythonic way to do it.

Regards, noisefloor
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  IndexError: list index out of range Laplace12 1 273 Jun-22-2021, 10:47 AM
Last Post: Yoriz
  IndexError: list index out of range brunolelli 11 1,188 Mar-25-2021, 11:36 PM
Last Post: brunolelli
  index of range, but data prints out mrc06405j 1 422 Mar-25-2021, 07:20 PM
Last Post: buran
  IndexError: list index out of range ramu4651 2 695 Jan-24-2021, 01:45 PM
Last Post: buran
  string index out of range jade_kim 4 577 Jan-13-2021, 05:41 AM
Last Post: jade_kim
  IndexError: index 10 is out of bounds for axis 0 with size 1 vahid89 1 2,299 Jan-07-2021, 06:19 PM
Last Post: deanhystad
  code with no tuple gets : IndexError: tuple index out of range Aggam 4 748 Nov-04-2020, 11:26 AM
Last Post: Aggam
  List index out of range error while accessing 2 lists in python K11 2 666 Sep-29-2020, 05:24 AM
Last Post: K11
  List index out of range error when attempting to make a basic shift code djwilson0495 4 909 Aug-16-2020, 08:56 PM
Last Post: deanhystad
  String index out of bounds ( Python : Dict ) kommu 2 775 Jun-25-2020, 08:52 PM
Last Post: menator01

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020