python错误:ValueError: Sample larger than population or is negative

生成指定长度的字符串:
def getRandomSet(self, bits):
"""
获取随机字符串
:param bits: 长度
:return: 字符串
"""
num_set = [chr(i) for i in range(48, 58)]
char_set = [chr(i) for i in range(97, 123)]
total_set = num_set + char_set
value_set = "".join(random.sample(total_set, bits))
return value_set

if __name__ == '__main__':
a = getRandomSet(50)
print(a)

错误:

raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative

 

random文件中:

def sample(self, population, k)

因为使用random.sample()方式时,population这个参数的长度必须大于k,如果小于k,那么就会提示ValueError: sample larger than population

 

解决:

def getRandomSet(self, bits):
"""
获取随机字符串
:param bits: 长度
:return: 字符串
"""
num_set = [chr(i) for i in range(48, 58)]
char_set = [chr(i) for i in range(97, 123)]
total_set = num_set + char_set
value_set = "".join(random.sample(total_set, bits))
return value_set
if __name__ == '__main__':
a = getRandomSet(20)
print(a)

结果:w492lm7tp8gnqfr3zdy1
posted @   海浪。  阅读(2126)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示