Python 如何结束我的刽子手游戏,如何告诉用户-恭喜

Python 如何结束我的刽子手游戏,如何告诉用户-恭喜,python,Python,好吧,有三个问题 1-我使用“thing”和if语句检查用户的输入。因此,如果他/她猜出的单词是完整的,那么在所有的if语句中它都是真的,并显示最后的祝贺!但它没有发挥应有的作用 2-为什么我的elif语句在最后不起作用?当计时器达到0时。这是零猜测,所以游戏结束了。但它不起作用 3-我如何跟踪他/她使用的字母表。现在的工作方式是,如果他/她第一次猜到字母表,第二次猜到字母表不可见。但是在第三天,我猜它会回来。但我想让字母表在接下来的猜测中不可见。而不是最后一次猜到的消失的字母表。我希望这是清楚

好吧,有三个问题

1-我使用“thing”和if语句检查用户的输入。因此,如果他/她猜出的单词是完整的,那么在所有的if语句中它都是真的,并显示最后的祝贺!但它没有发挥应有的作用

2-为什么我的elif语句在最后不起作用?当计时器达到0时。这是零猜测,所以游戏结束了。但它不起作用

3-我如何跟踪他/她使用的字母表。现在的工作方式是,如果他/她第一次猜到字母表,第二次猜到字母表不可见。但是在第三天,我猜它会回来。但我想让字母表在接下来的猜测中不可见。而不是最后一次猜到的消失的字母表。我希望这是清楚的

如果有人能帮我完成1和2,我会非常高兴!纳马斯特

def get_available_letters(letters_guessed):

    a = string.ascii_lowercase
    for char1 in a:
        if char1 in letters_guessed:
           a = a.replace(char1,"")


    return(a)


def hangman(secret_word):
    timer = 6
    warning = 3
    secret_word = 'geranimo'
    alph = string.ascii_lowercase
    guessed_letters = len(secret_word) * ['_']


    if timer >= 1:
        while timer >= 1:
            print('You have', timer, 'guesses left.')
            letters_guessed = str(input('Guess a letter: '))


            if letters_guessed not in alph and warning >= 1:
                print('Only alphabets allowed!!!')
                print('You have',warning, 'warnings')
                warning -= 1

            if letters_guessed not in alph and warning <= 0:
                    timer -= 1

            for position, letter in enumerate(secret_word):
                if letter == letters_guessed:
                    guessed_letters[position] = letter
                    print(' '.join(guessed_letters))

            cons =['b','c','d','f','h','j','k','l','p','q','s','t','v','w','x','y','z']
            for thing in cons:
                if letters_guessed == thing: 
                    print('Wrong Consonant!')
                    timer -= 1
            vow =['u']
            for thing in vow:
                if letters_guessed == thing: 
                    print('Wrong Vowel!')
                    timer -= 2

            for thing in guessed_letters:
                if thing == 'g':
                    if thing == 'e':
                        if thing == 'r':
                            if thing == 'a':
                                if thing == 'n':
                                    if thing == 'i':
                                        if thing == 'm':
                                            if thing == 'o':
                                                print ('Congrats game won!')
                                                break
                else:
                    break



            alpha = get_available_letters(letters_guessed)
            for position, letter in enumerate(alpha):
                if letter == letters_guessed: 
                    alpha.delete(position)


            print('Available letters: ' + alpha)


    elif timer == 0:
        print("Game over douchebag")
        quit()
def获取可用字母(猜测字母):
a=字符串。ascii_小写
对于a中的char1:
如果猜到字母中的字符1:
a=a.替换(字符1,“”)
报税表(a)
def hangman(秘密单词):
计时器=6
警告=3
秘密字='geranimo'
alph=string.ascii_小写
猜字母=len(秘密单词)*[''']
如果计时器>=1:
当计时器>=1时:
打印('您有',计时器,'猜测剩余')
字母猜=str(输入('猜字母:'))
如果字母_猜测不在alph中且警告>=1:
打印('只允许字母!!!')
打印('您有',警告',警告')
警告-=1

如果字母不在alph和warning中,这里有一个链接,可以帮助您了解如何正确处理此问题,代码中存在一些大问题。并不是说它不会运行,而是可以对它进行重构,使其变得更加Pythonic和干净。我建议你多读一点Python,然后再回到这个问题上来,看看你是否能自己回答这个问题,就像是“给我一个代码”。威尔·弗拉格,你们为什么在这个网站上让我这么难受?我自学成才。至少告诉我什么是“大问题”。@德语已经成为这个网站被接受(并且经常受到鼓励)的“文化”,用户经常会通过链接到规则来坚定地支持他们的评论,但公然无视“粗鲁和贬低语言是不好的”的说法。所以不幸的是,我们不得不接受它。同时,我会尽力为你想出一些建议。谢谢,这真是令人鼓舞。