python一道关于随机数的练习题

来源:互联网 发布:优化媒体和代理媒体 编辑:程序博客网 时间:2024/06/07 17:34

题目:

生成一个有N个元素的由随机数n组成的列表,其中N和n的取值范围为(1< N <= 100)和(0 <= n <= 2的31次方减一)。然后再随机从这个列表中取N(1<= N <= 100)个随机数出来并排序,然后显示。
random模块中有一个关于整数随机数的生成函数为random.randrange(start, stop[, step])生成n和N都要用到这个随机函数。

import randomN = random.randrange(2, 101)print('总共会生成%d个随机数'%N)L = []for x in range(N):    y = random.randrange(0, pow(2, 31) - 1)    print('生成的随机数为:    '+str(y))    L.append(y)L1 = [ ]n = random.randrange(1, N)print('从生成的随机数中选取%d个随机数'%n)for z in range(n):    l = random.randrange(1, n)    m = L[l]    L1.append(m)    print('选取的随机数为:    '+str(m))print('经过排序后的列表为    ', end = '')print(sorted(L1))

注意一下random.randrange()这个函数如果说要生成从0-100中的任意一个数应该这样写random.randrange(0,101)(至于为么这么写,我也不知道)。
输出结果如下

总共会生成4个随机数生成的随机数为:    1716212219生成的随机数为:    1535787963生成的随机数为:    1854402473生成的随机数为:    962126561从生成的随机数中选取3个随机数选取的随机数为:    1854402473选取的随机数为:    1854402473选取的随机数为:    1854402473经过排序后的列表为    [1854402473, 1854402473, 1854402473]

不知道为啥当选取的随机数特别少的时候会选成一样的,但是数选的太多的话文章又长了,就这样把。

原创粉丝点击