如何检查 random.choice 的打印值是否与 "guess" 变量匹配

how to check if the printed value of a random.choice matches with a "guess" variable

基本上,我正在编写一个基本的 "hello world" 代码来刷新我的记忆,但我被卡住了。我想从列表 numbers 中打印一个随机选择,并且我想检查我的初始 x 是否与随机选择的输出相匹配。但是,当我 运行 时,即使数字不匹配,我得到的代码也是 print("nice") 。这是代码:

import random

numbers = [1, 2, 3, 4, 5, 6]
x = int(input("Enter your guess: "))

def random_choice(numbers):
    if x in numbers:
        print(random.choice(numbers))
        if numbers.count(x):
            print("nice")
        else:
            print("not nice")


random_choice(numbers)

numbers.count(x) 将 return x 在数字中出现的次数,因为在代码的那一点你已经知道至少有一份 x 在其中(因为这一行在检查 x in numbersif 内部),它总是 return 一个隐式转换为 True[ 的正数=18=]

一种可能的方法是存储随机值并与 x:

进行比较
import random

numbers = [1, 2, 3, 4, 5, 6]
x = int(input("Enter your guess: "))

def random_choice(numbers):
    if x in numbers:
        temp = random.choice(numbers)
        print(temp)
        if temp == x:
            print("nice")
        else:
            print("not nice")


random_choice(numbers)