【python】用for循环n次得到满足条件的n个随机数

用for循环n次得到满足条件的n个随机数。
例如:用for循环5次,随机数的取值范围在0到100,输出5个小于20的随机数。


import random

# 初始化一个空列表来存储随机数
random_numbers = []

# 使用for循环循环n次
for i in range(n):
    # 生成0到100之间的随机数
    random_num = random.randint(0, 100)
    # 检查随机数是否小于20
    if random_num < 20:
        # 将随机数添加到列表中
        random_numbers.append(random_num)

# 打印满足条件的随机数列表
print(random_numbers)


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7788425
  • 这篇博客你也可以参考下:[数值计算-7]:一元n次非线性方程求解-单点盲探-牛顿迭代法&Python法代码示例
  • 除此之外, 这篇博客: python实现概率分布中的  离散概率分布——2.二项分布(n次伯努利) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    # 案例:继续玩抛硬币游戏,假如抛硬币5次,求抛出正面朝上次数的概率
    
    
    # 第1步,定义随机变量:5次抛硬币,正面朝上的次数
    n2 = 5    # 做某件事情的次数
    p2 = 0.5  # 做某件事情成功的概率(抛硬币正面朝上的概率)
    X2 = np.arange(0,n2+1,1) # 做某件事成功的次数(抛硬币正面朝上的次数)
    X2
    
    # 第2步,求对应分布的概率:概率质量函数(PMF)
    # 返回一个列表,列表中每个元素表示随机变量中对应值的概率
    pList2 = stats.binom.pmf(X2,n2,p2)
    pList2
    
    '''
    第3步,绘图
    plot默认绘制折线
    marker:点的形状,值o表示点为圆圈标记(circle marker)
    linestyle:线条的形状,值None表示不显示连接各个点的折线
    '''
    plt.plot(X2,pList2,marker='o',linestyle='None')
    
    '''
    vlines用于绘制竖直线(vertical lines),
    参数说明:vline(x坐标值, y坐标最小值, y坐标值最大值)
    我们传入的X是一个数组,是给数组中的每个x坐标值绘制竖直线,
    竖直线y坐标最小值是0,y坐标值最大值是对应pList2中的值
    '''
    plt.vlines(X2,0,pList2)
    plt.xlabel('随机变量:抛硬币正面朝上的次数')
    plt.ylabel('概率')
    plt.title('二项分布:n=%i,p=%.2f' % (n2,p2))
    plt.show()
  • 您还可以看一下 王进老师的跟着王进老师学开发Python篇:基础入门案例讲解课程中的 案例02: 计算1-100之间后5个质数之和小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^