各位读者大大们大家好,今天学习python的random随机模块,并记录学习过程欢迎大家一起交流分享。
新建一个python文件命名为py3_random.py,在这个文件中进行操作代码编写:
import random
#使用random方法
#随机生成一个float类型的
#小数
value = random.random()
print(value)
#使用uniform()随机生成
#1到10之间的数字float
#类型的值
value = random.uniform(1,10)
print(value)
#使用randint()生成
#1到5之前的整数
#注意这里是包括1和5的
value = random.randint(1,5)
print(value)
#随机生成0或1
value = random.randint(0,1)
print(value)
#使用choice()方法从一个list列表中随机
#生成产生一个list中的数据
nums = ['你好','再见','请坐']
value = random.choice(nums)
print(value)
#使用choices()指定次数的随机值产生
#定义一个颜色的list
colors = ['Red','Black','White']
#k=10代表随机产生10次返回
results = random.choices(colors,k=10)
print(results)
#使用weights指定随机产生数据的权重值
results = random.choices(colors,weights=[15,15,2],k=10)
print(results)
#生成一个1到52的list列表
deck = list(range(1,53))
print(deck)
#使用shuffle()对列表进行洗牌操作
random.shuffle(deck)
print(deck)
#使用sample()
#随机从指定列表中提取出N个不同的元素
deck = list(range(1,53))
hand = random.sample(deck,k=5)
print(hand)
运行效果:
0.4500863587194156
9.710325676015769
2
1
请坐
['Red', 'Red', 'White', 'Black', 'Black', 'White', 'Black', 'Black', 'White', 'Black']
['Red', 'Black', 'Red', 'Black', 'Black', 'Black', 'Black', 'Red', 'Black', 'Black']
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52]
[34, 36, 1, 10, 38, 15, 51, 47, 32, 17, 50, 22, 6, 48, 46, 7, 25, 28, 23, 9, 11, 24, 40, 39, 37, 27, 8, 33, 21, 12, 49, 30, 16, 35, 4, 43, 3, 20, 42, 41, 52, 14, 44, 2, 13, 19, 5, 26, 31, 18, 45, 29]
[48, 10, 34, 2, 18]
接下来看一个例子使用radom随机生成数据可以用来做测试用,新建一个python文件名为gen_data.py,代码如下:
import random
from xpinyin import Pinyin
#使用了汉字转拼音的第三方库
#需要pip install xpinyin
#初始化拼音对象
pin = Pinyin()
####使用random随机生成数据
#定义姓氏列表
surnames = ['王','李','张','刘','陈','智','杨','黄','赵','周','范',
'吴','徐','孙','马','胡','朱','郭','何','罗','高','林']
#定义名字列表
names = ['小虎','二丫','大宝','翠花','德彪','丽丽']
#定义所在城市列表
citys = ['北京','天津','上海','重庆','新疆','西藏','宁夏','内蒙古',
'广西','黑龙江','吉林','辽宁','河北','山东','江苏','安徽',
'浙江','福建','广东','海南','云南','贵州','四川','湖南','湖北',
'河南','山西','陕西','甘肃','江西','中国台湾','中国香港','中国澳门']
for num in range(100):
surname = random.choice(surnames)
name = random.choice(names)
city = random.choice(citys)
email = pin.get_pinyin(surname,"") + pin.get_pinyin(name,"") +'@163.com'
print(f"{surname}{name}\n{city}\n{email}\n")
运行的部分效果:
李大宝
中国澳门
lidabao@163.com
胡丽丽
福建
hulili@163.com
郭德彪
中国香港
guodebiao@163.com
何小虎
浙江
hexiaohu@163.com
今天初学python的random随机模块学习就到这里!
下面的是我的公众号二维码图片,欢迎关注。