当玩家猜到所有字母时,Python刽子手没有结束

当玩家猜到所有字母时,Python刽子手没有结束,python,Python,我的问题是,当我运行程序,并得到所有的字母正确,它不会从那里移动,我在一个无限循环。我希望它会说“干得好!”并在玩家说对了词后结束节目。我对编码非常陌生,非常感谢您的帮助 import random import time name = input("What is your name? ") print(name + ", ay?") time.sleep(1) start = input("Up for a game of Hangman?(y/n) ") lis = random.ch

我的问题是,当我运行程序,并得到所有的字母正确,它不会从那里移动,我在一个无限循环。我希望它会说“干得好!”并在玩家说对了词后结束节目。我对编码非常陌生,非常感谢您的帮助

import random
import time

name = input("What is your name? ")
print(name + ", ay?")
time.sleep(1)
start = input("Up for a game of Hangman?(y/n) ")

lis = random.choice(["yet"])
dash = []
while len(dash) != len(lis):
   dash.append("_") 
guess = []
guesscomb = "".join(guess)
wrongcount=int(0)
alphabet = "abcdefghijklmnopqrstuvwxyz"

if start == "y":
    print("One game of Hangman comin' right up,",name)
    letter = input("Alright then, Guess a letter: ")
    thing = ''.join(dash)

    while guesscomb != thing:
        if letter == "" or letter == " " or len(letter) != 1:
            print("I don't understand. Please only use singular letters.")
            letter = input("Guess a letter: ")    

        elif letter in lis and letter in alphabet:
            print("Nice!")

            location = lis.find(letter)
            dash[location] = letter
            guess.append(letter)
            alphabet.replace(letter," ")
            guesscomb = "".join(guess)

            letter = input("Guess a letter: ")

        else:
            print("Wrong.")
            wrongcount = wrongcount + 1

            print("Total Mistakes:",wrongcount)
            letter = input("Guess a letter: ")      

elif start == "n":
    input("Shame.")
    quit()

print("Good Job!")
time.sleep(10)

thing
变量等于
\uuuuuu
,而
lis
始终等于
“yet”


guesscomb
不能等于
thing
,因为当猜测等于
lis
中的一个字母时,您可以使用
print
和参数
end=“”
验证一个字母,这样光标就不会转到新行。 您可以使用字符串上的
isalpha
方法检查字符串是否都是字符,而不是将其与字母表进行比较。 正如本所说,
东西总是___

修改代码的这一部分,它就会工作

if start == "y":
    print("One game of Hangman comin' right up,", name)
    print("Alright then, ", end="")
    # letter = input("Alright then, Guess a letter: ")
    thing = ''.join(dash)

    while guesscomb != thing:
        letter = input("Guess a letter: ")
        if letter == "" or letter == " " or len(letter) != 1:
            print("I don't understand. Please only use singular letters.")

        elif letter in lis and letter in alphabet:
            print("Nice!")
            location = lis.find(letter)
            dash[location] = letter
            guess.append(letter)
            alphabet.replace(letter, " ")
            guesscomb = "".join(guess)
        else:
            print("Wrong.")
            wrongcount = wrongcount + 1
            print("Total Mistakes:", wrongcount)
        thing = ''.join(dash)