python 作业6

问题:

0.“所有使用算法生成的随机数,都是伪随机数!”,这种说法对吗?a

 不对 

真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。使用物理性随机数发生器生成的真随机数,可以说是完美再现了生活中的真正的“随机”,也可以称为绝对的公平,绝对的随机数。

实际上,绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数,“伪”代表有规律。
只不过这个规律周期比较长,但还是可以预测的。主要原因就是伪随机数是计算机使用算法模拟出来的,这个过程并不涉及到物理过程,所以自然不可能具有真随机数的特性。

1. 如果要使用 random 模块,第一步应该怎么做?

 

2.调用 random.randint(1, 10) 函数生成了一个随机数,是否有可能会出现 10 这个数?

有可能 ,random.randint(a, b) 返回一个随机整数 N,范围是:a <= N <= b。c

3.请自学 random 文档(传送门),然后告诉小甲鱼下面这句代码的作用是什么?

 

random.choice("ilovefishc")

 随机生成字符串 ilovefishc中 任意一个字符

4.请问下面两个 print() 语句打印的结果是否相同,为什么?

import random

random.seed(1)
print(random.randint(1, 10), random.randint(1, 100), random.randint(1, 1000))

random.seed(1)
print(random.randint(1, 10), random.randint(1, 100), random.randint(1, 1000))

 相同 因为我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个

 

动动手: 

0. 请自学 random 文档,并选择一个合适的函数,在 0~99 之间随机抽取一个偶数。

import random

random.randrange(0, 99, 2)

 

1. 请自学 random 文档,编写一个双色球的开奖模拟程序。

 

 

import random
red = random.sample(range(1,33),6)
blue = random.randint(1,16)
print("红色球:",red)
print("蓝色球:",blue)

 

“双色球”每注投注号码由 6 个红色球号码和 1 个蓝色球号码组成。红色球号码从 1~33 中选择(由于每次抽取后不放回,所以不会出现重复数字);蓝色球号码从 1~16 中选择。

提示:random.sample() 方法。

 

posted @ 2022-06-23 15:56  DICEi  阅读(69)  评论(0)    收藏  举报