Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有一种简单的方法可以将多个字符串与另一个字符串进行比较?_Python_Python 3.x - Fatal编程技术网

Python 有没有一种简单的方法可以将多个字符串与另一个字符串进行比较?

Python 有没有一种简单的方法可以将多个字符串与另一个字符串进行比较?,python,python-3.x,Python,Python 3.x,该代码是一个简单的单词猜测游戏,有一个指定的秘密单词,用户将不得不猜测在一定数量的尝试。如果用户考虑寻求帮助,他将得到提示 问题出现在第10行和第11行,我的想法是用户不必猜测“help”这样的确切单词来获得提示,但也可以猜测它的同义词以获得相同的结果。 虽然第10行对于这个程序来说工作得非常好,但它需要大量的空间,如果你想包含更多产生提示的作品,代码会变得更加混乱 另一方面,第11行根本不起作用,在疑惑了几分钟之后,我更仔细地研究了or运算符,发现它没有将猜测值与第一个单词以外的其他单词进行比

该代码是一个简单的单词猜测游戏,有一个指定的秘密单词,用户将不得不猜测在一定数量的尝试。如果用户考虑寻求帮助,他将得到提示

问题出现在第10行和第11行,我的想法是用户不必猜测“help”这样的确切单词来获得提示,但也可以猜测它的同义词以获得相同的结果。 虽然第10行对于这个程序来说工作得非常好,但它需要大量的空间,如果你想包含更多产生提示的作品,代码会变得更加混乱

另一方面,第11行根本不起作用,在疑惑了几分钟之后,我更仔细地研究了or运算符,发现它没有将猜测值与第一个单词以外的其他单词进行比较,而只是检查布尔值是否为真。因为每个非空字符串的值都是True,所以每个单词都会生成提示

现在的问题是:是否有一种变通方法,可以将每一个同义词与用户的猜测进行比较,如第10行所示,这更为简洁。或者可能是一个内置函数,它执行类似的工作,将多个值与我没有看到的另一个值(在本例中为字符串)进行比较

def guessing_game():
    secret_word = "Schinken"
    guess = ""
    guess_count = 0
    guess_limit = 5
    print("Guess the secret word, you have " + str(guess_limit) + " tries")
    while guess != secret_word and guess_count != guess_limit:
        guess = input("Take a guess: ")
        guess_count += 1
        if guess.lower() == "hint" or guess.lower() == "tipp" or guess.lower() == "hinweis" or guess.lower() == "hilfe" or guess.lower() == "clue" or guess.lower() == "help" or guess.lower() == "advice":
        #if guess.lower() == "hint" or "help" or "hinweis" or "hilfe" or "tipp" or "clue" or "advice":
            print("Hint: German word for Ham")
        elif guess != secret_word and guess_count < guess_limit:
            print("Sorry that is wrong, you will have to try again")

    if guess == secret_word:
        print("Congratulations, you are correct! You Win!")
    else:
        print("Sorry, you ran out of guesses. You Lose!")
def猜测游戏():
secret_word=“辛肯”
guess=“”
猜测计数=0
猜测限制=5
打印(“猜秘密单词,你有”+str(猜极限)+“尝试”)
猜猜看!=秘密的单词和猜测猜一猜极限:
猜测=输入(“猜测:”)
猜测计数+=1
如果guess.lower()=“提示”或guess.lower()=“提示”或guess.lower()=“提示”或guess.lower()=“提示”或guess.lower()=“帮助”或guess.lower()=“建议”:
#如果guess.lower()==“提示”或“帮助”或“hinweis”或“hilfe”或“tipp”或“线索”或“建议”:
打印(“提示:德语单词代表火腿”)
我猜秘密单词和猜测计数<猜测限制:
打印(“对不起,这是错误的,您必须重试”)
如果猜测==秘密单词:
打印(“祝贺你,你是对的!你赢了!”)
其他:
打印(“对不起,你猜不到了,你输了!”)

您可以将选项放在列表中,然后在中使用

if guess.lower() in ["hint", "tipp", "hinweis", "hilfe", "clue", "help", "advice"]:
if guess.lower()在[“提示”、“提示”、…]中