【发布时间】:2016-10-29 16:50:09
【问题描述】:
我正在尝试设计一个简单的刽子手游戏,但目前在循环这个游戏时遇到了问题。我对 Python 非常陌生,并且知道这可能存在一个非常简单的问题,但希望能提供任何帮助。
这是我目前拥有的游戏代码:
import random
random_words = ["stationery", "notepad", "pencil", "paper","eraser","highlighter","stapler","sharpener"]
computer_choice = random.choice(random_words)
print("The number of letters in the word I have chosen is " + str(len(computer_choice) + ".")
player_guess = None
guessed_letters = []
word_guessed = []
for letter in computer_choice:
word_guessed.append("-")
joined_word = None
player_guess = str(input("Please pick a letter you think is in the word I have chosen."))
attempts = (len(computer_choice)-1)
for letter in (0, len(computer_choice)):
if attempts != 0 and "-" in word_guessed:
joined_word = "".join(word_guessed)
print(joined_word)
guessed_letters.append(player_guess)
for letter in range(len(computer_choice)):
if player_guess == computer_choice[letter]:
word_guessed[letter] = user_input
if player_guess not in computer_choice:
attempts -= 1
player_guess = str("Please try again. You have " + str(attempts) + " attempts remaining.")
if "-" not in word_guessed:
print("Congratulations! {} was the word").format(computer_choice)
else:
print("Unlucky! The word was " + str(computer_choice) + "!")
目前,游戏没有循环播放,只是直接切换到“倒霉,这个词是___”。我该如何解决?问题是什么?
【问题讨论】:
-
你能仔细检查你的缩进吗?例如,
if attempts != 0 and "-" in word_guessed:出现在for letter in (0, len(computer_choice)):的正下方,最后的if/elsebock 似乎也很无聊(至少乍一看)
标签: python python-3.x loops