我已经在这个节目上呆了一段时间了。基本上,我一直试图让我的代码显示我代码的答案部分。你知道吗
我可以让它显示失败消息,但当我得到正确的答案并显示祝贺消息时,它将不起作用。我使用了两个while循环(一个可能看起来是重复的和不必要的)、一个for循环和三个if语句。救命啊,求你了!!你知道吗
我已经使用了前面提到的所有循环,并尝试删除了一些。我的教授告诉我删除其中一个循环,并改变我的'i=0',我都试过了,但似乎没有任何工作。我知道'chances'变量是不必要的,我可以用'I'替换它,但由于某种原因,当我这样做时,它确实像以前一样工作。更重要的是,这些问题以前也出现过。你知道吗
list_of_words = ['cool', 'ok', 'sure', 'sickkkk', 'what', 'how']
random_word = random.choice(list_of_words)
for letter in random_word:
underscore = '_ '*len(random_word)
print('The answer so far is '+underscore+' ')
answer = random_word
answer_list = ['_']*len(answer)
chances = 0
incorrect = 4
underscore = ''
while chances <len(answer) and incorrect > 0:
i = 0
guess = input('Guess a letter ('+ str(incorrect) +' guesses remaining):')
while i< len(answer):
if answer[i] == guess:
answer_list[i] = guess
i = i + 1
if guess in answer:
print('the answer so far is ' + ' '.join(answer_list))
chances += 1
else:
print('the answer so far is ' + ' '.join(answer_list))
chances -= 1
incorrect = incorrect - 1
if guess == answer_list:
print('Good job! You found the word '+answer+'.')
else:
print('Not quite, the correct word was '+answer+'. Better luck next time.')
input('Press enter to end the game.')
代码中有两个问题导致算法失败。第一个是你在比较
answer_list
和guess
,而你应该比较它和answer
。你知道吗即使解决了这个问题,也不会显示祝贺消息,因为
answer == answer_list
永远不会True
。试着在第if answer == answer_list:
行之前打印answer
和answer_list
,然后自己比较这两个变量看它们是否相等,你就会发现第二个问题。你知道吗当您这样做时,您可能会发现
join
函数很有用。举个例子:问题似乎是
guess == answer_list
。guess
是一个字母,而answer_list
是由几个字母组成的。我想你想写的是''.join(answer_list) == answer
。你知道吗相关问题 更多 >
编程相关推荐