【问题标题】:how to check if the number is in the list [duplicate]如何检查号码是否在列表中[重复]
【发布时间】:2017-07-13 07:01:26
【问题描述】:

您好,我正在尝试制作计算机与计算机的猜谜游戏,但我不希望计算机 1 将同一个数字猜两次。我想知道如何阻止这种情况。我相信它在 if 语句周围,但我被困住了。我需要帮助。

from random import randint

try:
    guess = randint(0,5)
    computer1 = randint(0,5)
    GuessList = [ ]
    GuessList.append(computer1)

    while computer1 != guess:
        print("COmputer guessed ",computer1)
        if computer1 in GuessList:
            computer1 = randint(0, 5)
        #computer1 = randint(0,5)

except KeyboardInterrupt:
    print("goodbye")


print("COMPUTER FINALLY GUESSED "), guess)

我的输出是计算机1不止一次地猜测同一个数字,但它最终会得到它。

【问题讨论】:

  • “我的 Python 代码需要帮助”是不合适的标题。请修复它以描述您遇到的问题。也无需提及 Python,这就是标签的用途。
  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布您的 MCVE 代码准确描述问题之前,我们无法有效地帮助您。具体来说,显示你得到的输出和想要的输出。

标签: python python-3.x


【解决方案1】:

你可以添加,

while computer1 in GuessList:
    computer1 = randint(0, 5)

在您的计算机1 = randint(0, 5) 之后。您可能必须删除您的 GuessList = [ ] 因为这将每次重置您的 GuessList。相反,您应该在代码的最开始就拥有它并保留 append 语句。

或者你可以使用

computer1 = random.choice(GuessesLeft)

GuessesLeft 是计算机 1 没有猜到的所有数字的列表。每次它做出猜测时,您只需从列表中删除该项目即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 2018-06-19
    • 2017-06-08
    • 1970-01-01
    • 2021-01-12
    • 2017-07-06
    • 1970-01-01
    相关资源
    最近更新 更多