Python自定义randomList随机列表生成函数实现错误求助
代码错误点梳理
- 参数逻辑不匹配:你设定
randomList的三个参数依次为「生成列表的元素个数、随机数取值下限、随机数取值上限」,但原代码误将三个参数直接传给range和randrange当「起始值、结束值、步长」使用,完全不符合参数设计用途;同时循环变量和第一个参数重名都叫x,会覆盖传入的参数值,引发逻辑混乱。 - 循环次数错误:要生成指定个数的随机数,循环次数应等于第一个参数(元素个数),而不是用
range(x,y,z)控制循环次数。 randrange调用错误:要生成[下限, 上限)区间的随机整数,只需给randrange传入下限、上限两个参数即可,不需要额外传步长(默认步长为1)。- 调用参数注意:按照参数设计顺序,调用时需依次传入元素个数、取值下限、取值上限,例如要生成5个范围在1到5之间的随机数,调用语句应为
randomList(5, 1, 5)。
修正后代码
import random def randomList(count, low, high): myList = [] # 循环次数等于需要生成的元素个数 for _ in range(count): # 生成[low, high)区间的随机整数,若需要包含上限可换成random.randint(low, high) myList.append(random.randrange(low, high)) print(myList) # 测试用例:生成5个1~5区间的随机数 randomList(5, 1, 5)
内容的提问来源于stack exchange,提问作者gan
相关产品推荐
相关产品推荐

