首页 > 编程语言 >【Python】ValueError:Sample larger than population or is negative的原因

【Python】ValueError:Sample larger than population or is negative的原因

时间:2024-09-03 15:26:13浏览次数:11  
标签:random Python py negative len sample range larger msg


ValueError: Sample larger than population or is negative 的原因以及解决办法

1.出现

这几天重构kook-valorant-bot的代码的时候,遇到了这个问题

Job "vip_roll_task (trigger: interval[0:01:20], next run at: 2023-01-25 19:59:21 CST)" raised an exception
Traceback (most recent call last):
  File "/home/muxue/.local/lib/python3.10/site-packages/apscheduler/executors/base_py3.py", line 30, in run_coroutine_job
    retval = await job.func(*job.args, **job.kwargs)
  File "/home/muxue/kook/val-bot/code/main.py", line 793, in vip_roll_task
    ran = random.sample(range(0, len(VipRollDcit[msg_id]['user']) - 1), vnum)
  File "/usr/local/lib/python3.10/random.py", line 482, in sample
    raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative
error raised during task
Traceback (most recent call last):
  File "/home/muxue/.local/lib/python3.10/site-packages/apscheduler/executors/base_py3.py", line 30, in run_coroutine_job
    retval = await job.func(*job.args, **job.kwargs)
  File "/home/muxue/kook/val-bot/code/main.py", line 793, in vip_roll_task
    ran = random.sample(range(0, len(VipRollDcit[msg_id]['user']) - 1), vnum)
  File "/usr/local/lib/python3.10/random.py", line 482, in sample
    raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative

这部分代码是用来生成抽奖结果的随机数的,在网上百度了报错之后,得知是random生成随机数时产生的报错

2.复现

找到对应的代码

ran = random.sample(range(0, len(VipRollDcit[msg_id]['user'])-1), vnum) # 生成n个随机数

这个代码的作用是,生成vnum个从0到len(VipRollDcit[msg_id]['user']) - 1的随机数,不包含len(VipRollDcit[msg_id]['user'])-1

咳咳,这里又发现了另外一个bug:我以为是包含右边界的,所以手动-1了;现在导致最后一个参加抽奖的用户永远都抽不到奖了

标签:random,Python,py,negative,len,sample,range,larger,msg
From: https://blog.51cto.com/musnow/11908614

相关文章

  • 【Python】request库InsecureRequestWarning的原因
    今天在测试我自己写的api的时候,发现了之前出现的一个warning的真正原因1.起因先来看请求api的代码defApiRq(account:str,passwd:str,background=''):url="https://example.com/shop-url"params={#参数涉及到隐私,省略} res=requests.get(url,pa......
  • 基于python+flask框架的企业员工献血管理平台(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业社会责任意识的增强和公众对健康公益事业的日益关注,企业员工献血已成为企业履行社会责任、展现人文关怀的重要方式之一。然而,传统......
  • 基于python+flask框架的绿洲便利店商品售卖系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代都市生活节奏的加快,消费者对便捷购物服务的需求日益增长。便利店作为零售业态的重要组成部分,以其商品种类丰富、位置便利、服务快......
  • 基于python+flask框架的图书管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和数字化时代的到来,图书馆作为知识传播与存储的重要机构,其管理方式正经历着深刻的变革。传统的图书管理模式依赖人......
  • Python使用socket传输对数据AES和MD5加密
    一、使用socket通信defclient_communication(data):#通信host="127.0.0.1"#服务器IP地址port=12345#服务器端口号#处理发送数据data=json.dumps(data)#将字典转换为json字符串data=encryption_AES(data)......
  • Python 中读取 Excel 表格数据
    在Python中读取Excel表格数据可以使用 pandas 库,这个库为数据处理和分析提供了强大的工具。以下是如何在Python中读取Excel文件的示例脚本。安装所需库首先,我们需要确保安装了所需的库。主要使用的库是 pandas 和 openpyxl(用于读取Excel文件)。您可以使用以下......
  • 【Python基础】学习Python就必须要知道的Matplotlib,一篇文章带你全面了解Matplotlib
    Matplotlib是一款广泛使用的Python数据可视化库,它提供了丰富的绘图工具和功能,能够创建各种类型的图表,包括折线图、散点图、柱状图、饼图、直方图、箱型图、热图等。一、概述定义:Matplotlib是Python的一个绘图库,由JohnD.Hunter在2002年开始编写,并于2003年发布了第一个版本。......
  • 【Python基础】一篇文章带你了解Python。对Python的认知更加详细!!!
    Python是一种高级的、动态类型的编程语言,自1989年由吉多·范罗苏姆(GuidovanRossum)首次发布以来,已经成为科技行业中广泛使用的编程语言之一。一、Python的基本特点易于学习:Python的语法清晰简洁,易于阅读和编写,是初学者的理想选择。跨平台:Python可以在多种操作系统上运行,包括......
  • 【Python进阶】一篇文章带你了解Python的库和框架。看完你就知道了!!!
    Python拥有庞大的库和框架生态,这些库和框架覆盖了从数据科学、Web开发、自动化运维到人工智能等多个领域。以下是一些常用的Python库和框架:1.数据科学NumPy:用于科学计算的基础包,提供了高性能的多维数组对象和用于数组操作的工具。Pandas:提供数据结构和数据分析工具,特别适合......
  • Python的模块与库(-白夜黑羽)
    1.模块的概念作为一名合格的程序员,我们编写的代码不可能都放在一个Python文件中,有时候我们开发的项目比较复杂时,编写的代码可能要上万行,甚至更多,如果全部都放在一个文件里,显然是不合理的。不同的文件中的代码含义不同,功能也不同,最后整个项目的运行都离不开它们,在Python中......