puzzle game<- this is the picture.
I get
ValueError
def update_letter_view(puzzle: str, view: str, index: int, letter: str) -> str:
>>>"""Return a single character string representing the next view of the
character at the given index.If the character at that index
of the puzzle matches the guess, then return that character. Otherwise,
return the character at that index of the view.
>>>update_letter_view('chicken', 'ch^^ken', 2, 'i')
'i'
>>>update_letter_view('banana', 'b^n^n^', 1,'t')
'^'
"""
symbol = '^'
if letter in puzzle:
return puzzle[puzzle.index(letter, index)]
return symbol
Let's have a look at the python str.index()
method:
str.index(str, beg=0 end=len(string))
In your function, puzzle.index(letter, index)
will find the letter from the position index
, so it's obvious if letter
appears before index
, your code will raises ValueError
.
How to fix it:
def update_letter_view(puzzle, view, index, letter):
symbol = '^'
if letter in puzzle and puzzle.index(letter) == index:
symbol = letter
return symbol