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