python3制作刽子手游戏的一个问题

python3制作刽子手游戏的一个问题,python,python-3.x,Python,Python 3.x,伊姆雷扎 我为《刽子手》游戏编写了一个脚本,但存在一个问题,在for_循环中的任何时候都会重置打印的文本_: 这是我的代码::我很高兴能帮助我 ! #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 ch

伊姆雷扎 我为《刽子手》游戏编写了一个脚本,但存在一个问题,在for_循环中的任何时候都会重置打印的文本_: 这是我的代码::我很高兴能帮助我

! #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: ")

这是因为您只打印当前字母
inpt
。您需要存储以前选择的字母,以了解打印内容

尝试切换:

for i in chosen_word:
    if i == inpt:
        print(i,end='')
    else:
        print('_ ',end='')
为了

在这里,我们基本上是通过所选的单词进行迭代,如果已经选择了字母beeing iterating,我们将打印它,否则我们将打印一个下划线

print(''.join([letter+' ' if letter in past_letters else '_ ' for letter in chosen_word]))
inpt=input("\tPlease enter the word: ")
past_letters.append(inpt)