im Reza 我为《 Hangman Game》写了一个脚本,但是有一个问题,在 for_loop 中的任何时间都会重置text_printed: 这是我的代码::我想帮助我
! #usr/bin/Python3
from random import randint
word_list=['reza','ali','mohamad']
r=randint(0,len(word_list)-1)
chosen_word=word_list[r]
inpt=''
char_list=[]
chosen_char=[]
for char in chosen_word:
char_list.append(char)
while True:
for i in chosen_word:
if i == inpt:
print(i,end='')
else:
print('_ ',end='')
inpt=input("\tPlease enter the word: ")
答案 0 :(得分:0)
之所以会这样,是因为您只打印当前字母inpt
。您需要存储以前选择的字母才能知道要打印什么。
尝试切换:
for i in chosen_word:
if i == inpt:
print(i,end='')
else:
print('_ ',end='')
为
print(''.join([letter+' ' if letter in past_letters else '_ ' for letter in chosen_word]))
inpt=input("\tPlease enter the word: ")
past_letters.append(inpt)
在这里,我们基本上是遍历所选单词,如果已经选择了beeinging迭代字母,则将其打印出来,否则将打印下划线