python - 一定范围内的随机列表
问题描述
我想生成一个随机列表,其中在 a 和 b 之间生成 n 个数字。但是,执行时,什么也没有出现。
def random_list(a,b,n):
import random
xs=[]
x=random.randint(a,b)
xs.append(x)
while len(xs)==n:
return xs
解决方案
试试这个(使用randint
列表推导生成随机列表)
import random
def random_list(a,b,n):
xs = [random.randint(a,b) for _ in range(n)]
return xs
输出:
>>> print(random_list(1, 10, 4))
[6, 2, 6, 4]
>>> print(random_list(1, 10, 4))
[3, 9, 2, 1]
如果您希望保持while
循环,您可以将您的代码重新安排为如下所示:
import random
def random_list(a,b,n):
xs=[]
while len(xs) < n:
x = random.randint(a,b)
xs.append(x)
return xs
推荐阅读
- azure-web-app-service - Azure 网站的波动响应时间
- swift - 为什么当 VC 从右移时 MessageKit(`JSQMessagesViewController` 替换)输入字段消失?
- ruby-on-rails - 生产红宝石中未显示条纹卡元素
- c - C 预处理器 - 在编译时向 Struct 添加元素
- asp.net-mvc - 如何在 MVC 的部分视图中填充导航选项卡上的数据?
- c++ - C++定义静态成员的正确方法是什么
- haskell - 如何在 Haskell 中为 IO 专门化 mapM
- gatling - Gatling:响应时间百分位数和延迟百分位数随时间的差异
- java - Libgdx 播放/暂停音乐
- android - 避免按下后退按钮时关闭 AlertDialog