我的做法
# 生成0~9之间的随机数
import random
i = 1
while i < 10:
i += 1
print(random.randint(0, 9))
参考做法
参考博客:https://blog.csdn.net/qq_32618817/article/details/80583746
在Python中可以用于随机数生成的有两种主要途径:
一、random模块
二、numpy库中random函数
random模块
首先,导入模块:import random
其次,random模块中,有七个函数都可以用来生成随机数。
①random.random()
功能:随机生成一个 [0,1) 的浮点数
测试:
print(random.random())
结果:
0.6894656781461426
② random.uniform(a,b)
功能:随机生成一个 [a,b) 的浮点数
测试:
print(random.uniform(1, 9))
结果:
1.0912227185909238
3.9337071243550197
7.451544917100432
4.417921173471761
③ random.randint(a,b)
功能:随机生成一个 [a,b] 的整数
测试:
print(random.randint(1, 9))
结果:
3
5
1
8
④ random.randrange(a,b,step)
功能:在[a,b)以step为步长随机选择一个整数
测试:
random.randrange(1, 10, 2)
结果:
3
5
9
1
⑤ random.choice(sequence)
功能:从一个已有的sequence中随机选择一个元素
测试:
error:print(random.choice([1,2,3,4,5])
error:print(random.choice(1,2,3,4,5)
error:print(random.choice(“1”, “2”, “3”, “4”, “5”)
error:print(random.choice(‘1’, ‘2’, ‘3’, ‘4’, ‘5’)
right:
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
i = 1
while i < 10:
i += 1
print(random.choice(a))
结果:
8
1
1
8
1
4
6
7
6
random.choice(name),其中name为序列名,序列的表示方法为:a=[1,2,3,4,5]
⑥ random.shuffle(x[, random])
功能:用于将一个列表中的元素打乱,即将列表内的元素随机排列
测试:
error:a = [1, 2, 3, 4, 5, 6, 7, 8]
print(random.shuffle(a, random))
error:a = [1, 2, 3, 4, 5, 6, 7, 8]
print(random.shuffle(a)) ===> 结果None
right:
a = [1, 2, 3, 4, 5, 6, 7, 8]
random.shuffle(a)
print(a)
结果:
[7, 4, 8, 6, 2, 1, 3, 5]
random.shuffle()是一个动作过程,返回值存在序列中,因此最后应该print(序列)
⑦ random.sample(sequence, k)
功能:从指定序列中随机获取指定长度的片断并随机排列。
注意:sample函数不会修改原有序列。
测试:
a = [1, 2, 3, 4, 5, 6, 7, 8]
print(random.sample(a, 4))
结果:
[7,4,6,5]
numpy模块
先导入模块:import numpy as np
但是我的库中没有这个模块,numpy是第三方库,需要先下载。
下载numpy模块:
去Terminal中,查看Python安装点:
(venv) F:\Pycharm_WorkSpace\菜鸟教程,Python实例>python
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
下载模块:
(venv) F:\Pycharm_WorkSpace\菜鸟教程,Python实例>pip install numpy
下载成功:
Collecting numpy
Downloading numpy-1.21.2-cp39-cp39-win_amd64.whl (14.0 MB)
|████████████████████████████████| 14.0 MB 3.3 MB/s
Installing collected packages: numpy
Successfully installed numpy-1.21.2
① np.random.rand(a,b)
功能:产生a行b列均匀分布的随机数组
测试:
print(np.random.rand(3, 3))
结果:
[[0.43393096 0.14617327 0.80248431]
[0.97208483 0.23284352 0.23267161]
[0.70526995 0.83036092 0.52197333]]
每个数都在(0,1)之间。
② np.random.randn(3,3)
功能:三行三列正态分布随机数据
测试:
print(np.random.randn(3, 3))
结果:
[[-1.42390947 -1.29998153 -0.3821516 ]
[-1.15550795 0.15478837 0.32813463]
[-0.32398944 0.04834492 1.83036954]]
③ np.random.randint(a,b,[x,y])
功能:(a,b)以内的x行y列随机整数
测试:
print(np.random.randint(0, 10, [4, 4]))
结果:
[[9 4 0 3]
[8 3 6 5]
[0 1 8 5]
[2 4 6 0]]
④ np.random.random(a)
功能:(0,1)以内a个随机浮点数
测试:
print(np.random.random(18))
结果:
[0.08045458 0.65438587 0.8627243 0.89977503 0.47135122 0.60186816
0.87275064 0.96068746 0.06614643 0.90637479 0.44851505 0.84004685
0.54450162 0.6756323 0.42028709 0.37187245 0.85415009 0.99986056]
⑤ np.random.choice(a)
功能:[0,a)内随机选择一个整数
测试:
i = 1
while i < 10:
i += 1
print(np.random.choice(11))
结果:
7
3
2
4
2
7
6
10
9
