Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialbehar
10,799 PointsLetterman game dosent work
I thought i followed every step the instructor did but i must have missed something. When i run this in python it says it excpected an indent on import random? ''' import random random_words = ["surface", "awesome", "keyboard", "mouse", "castle"] while True: start = input("Press enter to start, or Q to quit") if start.lower() == "Q": break secret_word = random.choice(random_word) wrong_guesses = [] right_guesses = [] while len(wrong_guesses) < 10 and len(right_guesses) != len(list(secret_word)): for letter in secret_word: if letter in right_guesses: print(letter, end="") else: print("_", end="") print("") print("Strikes: {}/7".format(len(wrong_guesses))) print("") guess = input("Guess a letter: ").lower() if len(guess) != 1: print("Your can only guess a single letter!") continue elif guess in wrong_guesses or guess in right_guesses: print("You have already guessed that") elif not guess_isalpha(): print("You can only guess letter!") continue if guess in secret_word: right_guesses.append(guess) if len(right_guesses) == len(list(secret_word)): print("You win! The word was {}".format(secret_word)) break else: wrong_guesses.append(guess) else: print("You didnt guess it! My secret word was {}".format(secret_word)) '''
3 Answers
behar
10,799 PointsLets retry. ive tried to follow every instruction during the course and i cant spot any mistakes with this code. However when i run it in python i get an error message saying: IndentationError: expected an indented block(on line 2). What im i missing?
import random
random_words = ["surface", "awesome", "keyboard", "mouse", "castle"]
while True:
start = input("Press enter to start, or Q to quit")
if start.lower() == "Q":
break
secret_word = random.choice(random_word)
wrong_guesses = []
right_guesses = []
while len(wrong_guesses) < 10 and len(right_guesses) != len(list(secret_word)):
for letter in secret_word:
if letter in right_guesses:
print(letter, end="")
else:
print("_", end="")
print("")
print("Strikes: {}/7".format(len(wrong_guesses)))
print("")
guess = input("Guess a letter: ").lower()
if len(guess) != 1:
print("Your can only guess a single letter!")
continue
elif guess in wrong_guesses or guess in right_guesses:
print("You have already guessed that")
elif not guess_isalpha():
print("You can only guess letter!")
continue
if guess in secret_word:
right_guesses.append(guess)
if len(right_guesses) == len(list(secret_word)):
print("You win! The word was {}".format(secret_word))
break
else:
wrong_guesses.append(guess)
else:
print("You didnt guess it! My secret word was {}".format(secret_word))
Juan Hurtado
2,243 PointsYour last else statement is the culprit. I just wrote an answer to this question and idk what happened to it.
behar
10,799 PointsI just wrote a new version of this that actually runs but it has this annyoing bugs, and i simply dont understand why:
import random
# make a list of words
words = [
"apple",
"banana",
"orange",
"coconut",
"strawberry",
"lime",
"grapefruit",
"lemon",
"kumquat",
"blueberry",
"melon",
]
while True:
start = input("Press enter/return to start, or enter Q to quit ")
if start.lower() == "q":
break
# pick a random word
secret_word = random.choice(words)
bad_guesses = []
good_guesses = []
while len(bad_guesses) < 7 and len(good_guesses) != len(list(secret_word)):
# draw guessed letters, spaces and strikes
for letter in secret_word:
if letter in good_guesses:
print(letter, end="")
else:
print("_", end="")
print("")
print("Strikes: {}/7".format(len(bad_guesses)))
print("")
# take guess
guess = input("Guess a letter: ").lower()
if len(guess) != 1:
print("You can only guess a single letter!")
continue
elif guess in bad_guesses or guess in good_guesses:
print("You've already guessed that letter!")
continue
elif not guess.isalpha():
print("You can only guess letters!")
continue
if guess in secret_word:
good_guesses.append(guess)
if len(good_guesses) == len(list(secret_word)):
print("You win! The word was{}".format(secret_word))
break
else:
bad_guesses.append(guess)
else:
print("You didn't guess it! My secret word was {}".format(secret_word))
behar
10,799 PointsI dont guess this, this is EXACLY the same code as provided in the python basics course and yet still it dosent work