Python3随机数

                                                                    随机数

例一:生成激活码
import string
import random

chars = string.ascii_letters + string.digits
# 返回abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789


def getrandom():  # 定义一个函数,将一个含有4个随机元素的列表内的元素合并在一起组成一个字符串
    return "".join(random.sample(chars, 4))


def concatenate(m):  # 定义一个函数,将m个4元素字符串用“-”连接起来组成一个激活码
    return "-".join([getrandom() for i in range(m)])


def generate(n):  # 定义一个函数,返回n个激活码组成的列表
    return [concatenate(4) for i in range(n)]


if __name__ == '__main__':
    for item in generate(10):  # 把列表里的10个激活码打印出来
        print(item)

例二:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配
import random

offices = [[], [], []]
names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

for name in names:
    index = random.randint(0, 2)  # 产生一个随机数来代表办公室0, 1, 2
    offices[index].append(name)   # 人名在循环中依次出现,而办公室随机出现,从而实现将人随机分配到办公室的目的
i = 1
for tem in offices:  # 遍历每间办公室的人数
    print('办公室%d 的人数为%d' % (i, len(tem)))
    i += 1
    for name in tem: # 遍历每间办公室的人名
        print('%s' % name, end='')
    print('\n')
    print('-' * 20)

随机数函数总结:
1) random() 返回0<=n<1之间的随机浮点数n;
2) random.uniform(a, b),用于生成一个指定范围内的随机符点数
3) random.randint(a, b),用于生成一个指定范围内的整数 
4) random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。 
5) choice(seq) 从序列seq中返回随机的元素; 
6) shuffle(seq, random]) 原地指定seq序列; 
7) sample(seq, n) 从序列seq中选择n个随机且独立的元素; 
8) gauss(mu,sigma)返回一个平均值为mu,标准差为sigma的高斯分布,也可以由正态分布函数生成normalvariate(mu, sigma) 
9) lognormvariate(mu, sigma)返回一个平均值为mu,标准差为sigma的对数正态分布

猜你喜欢

转载自blog.csdn.net/CSDNgaoqingrui/article/details/80502368
今日推荐