Python3使用random模块生成随机数据
Python自带的random库,uuid库等提供了一些生成随机数据的方法,常用的方法如下:
- random.random():随机生成0到1 的浮点数。
- random.randint(1,10):随机生成1到10(包括10)的整数。
- random.uniform(0.5,5.5):随机生成0.5到5.5的浮点数。
- random.randrange(1,20,2):随机生成1到20,间隔为2的一个随机数。
- random.shuffle([1,2,3,4,5,6]):随机打乱顺序,生成新的序列。
- random.choice([1,2,3,4,5,6]):随机从序列中选择1个。
- random.sample([1,2,3,4,5,6], 3):随机从序列中选择3个,生成新的序列。
- uuid.uuid1():根据时间戳和MAC地址生成36位的唯一编码。
以下示例中演示了一个简单生成随机中文姓名的方法,代码如下:
import random
import string
list1 = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王']
list2 =['志', '玉','明','龙','芳','军','玲', '海']
list3 =['','立','玲','','国','明', '花']
list4 = string.ascii_letters+string.digits
name = random.choice(list1) + random.choice(list2) + random.choice(list3)
password = ''.join(random.sample(list4, 6))
print(name, password)
以上示例中使用了Python自带的string库,string.ascii_letters是所有英文字母的集合,string.digits是所有数字字符的集合,password从两者的合集中随机取出6个字符,然后拼接成字符串。