You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何判断整数输入是否在生成的随机数列表中

问题根源
  • 代码核心问题为数据类型不匹配:input() 函数返回值为字符串类型,而 random.sample() 从 range(1,11) 中抽取的元素均为整数类型,不同类型的归属判断永远返回False,因此无论用户输入什么内容,都会走到you lose分支。
修复方案

将用户输入转换为整数类型即可匹配判断逻辑,修复后代码如下:

import random
numbers = range(1, 11)
r = int(input("Chose your number from 1 to 10 "))
a = random.sample(numbers, k=6)
print(a)
if r in a:
    print("you won!")
else:
    print("you lose")

可选优化:如果需要兼容用户输入非数字、输入超出1-10范围的场景,可以增加输入校验逻辑,避免程序直接报错:

import random
numbers = range(1, 11)
# 输入校验
while True:
    input_str = input("Chose your number from 1 to 10 ")
    try:
        r = int(input_str)
        if 1 <= r <= 10:
            break
        print("输入不在1-10范围内,请重新输入")
    except ValueError:
        print("输入不是有效数字,请重新输入")

a = random.sample(numbers, k=6)
print(a)
if r in a:
    print("you won!")
else:
    print("you lose")

内容的提问来源于stack exchange,提问作者andr3a00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:27:01