Play Home Contribute GitHub Join Us Discourse Staff Members GitHub Contribution Guides Team

Help with spy among us


for some reason it keeps saying that the spy is a friend. pleas help

# The inner gate can hold for a long time.
# However, one of these peasants is an OGRE SPY!
# There is a hint! The spy's name has the letter "z"

# This function checks for a specific letter in a word.

# A string is just an array! Loop over it like an array
def letterInWord(word, letter):
    for i in range(len(word)):
        character = word[i]
        # If character is equal to letter, return True
        if character == "Zozo":
            return True
    # The letter isn't in the word, so return False
    return False
while True:
    spyLetter = "z"
    friends = hero.findFriends()
    for friend in friends:
        friendName =
        if letterInWord(friendName, spyLetter):
            # Reveal the spy!
            hero.say(friendName + " is a spy!")
            hero.say(friendName + " is a friend.")


Take a look at the function header for letterInWord:

def letterInWord(word, letter):

You haven’t used the variable letter in the function.

Also, the while True: is not necessary.


Note: manually finding the name won’t help, because it will change every time. You actually have to find the name of the spy with the function.