背景
(1)在公差范围内,产生5个随机数
(2)5个随机数,保留小数点后四位,且和始终不变
(3)产生5组这样的随机数组
要求
(1)所用Python模块:random
(2)安装模块
pip install random
代码
import random
for i in range(5):
while(True):
list_random = [round(random.uniform(-0.042,+0.025),4)for _ in range(5)]
sum_random = 0
for j in range(len(list_random)):
sum_random = sum_random + list_random[j]
if(sum_random == -0.0296):
if i == 0:
print(sum_random)
print(list_random)
break
运行结果
知识点复盘
(1)产生指定公差带的随机数:random.uniform(a,b)
uniform:格式,可当做按格式产生随机数记忆
random.uniform(-0.042,+0.025)
(2)保留小数点后四位:round(c,num)
round(random.uniform(-0.042,+0.025),4)
(3)for _ in range(5) 与 for i in range(5)
- 这两种方法是没有区别的,在Python变量命名规则中,可以以下划线、字母开头命名,这里只用了下划线,本质上没有区别。都是临时变量,仅用一次。
- range(5)产生的是一个list:[0,1,2,3,4],从0开始,不包括5.
(4)Python高级特性:列表生成式
[round(random.uniform(-0.042,+0.025),4)for _ in range(5)]
注意:写成列表生成式时候,生成元素(round(random.uniform(-0.042,+0.025),4))要放在前面,for循环放在后面,另外还可以将在for循环后面添加if的判断。
具体列表生成式部分内容,参看廖雪峰的官方网站:
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681963899940a998c0ace64bb5ad45d1b56b103c48000