python3在制作子手游戏时出现问题

时间:2019-03-18 20:13:23

标签: python python-3.x

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

1 个答案:

答案 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迭代字母,则将其打印出来,否则将打印下划线