如何检查一个random.choice的印刷值与“猜测”可变匹配

问题描述 投票:2回答:1

基本上,我正在写一个基本的“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)
python windows random choice
1个回答
2
投票

numbers.count(x)将返回数字x的出现的次数,因为在代码的那个点你已经知道,在它里面x的至少一个拷贝(因为该行是检查ifx in numbers内),它将始终返回正数是隐式转换为True

一种可能的方法是将随机值,并比较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)
© www.soinside.com 2019 - 2024. All rights reserved.