python取随机不重复数字列表并应用

代码

话不多说直接上代码

#产生 1 - n 之间不重复随机数
def GetRandomNumList(len):
    rsList = []
    for i in range(0,len):
        rsList.append(i)
    for i in range(0,len):
        num = random.randint(0,len)
        tmp = rsList[i]
        rsList[i] = rsList[num]
        rsList[num] = tmp    
    return rsList

实际应用

例如,我们需要从甜品列表里面随机挑出几样产品,那么我们可以这样实现

import random

DessertList=[
    '煎饼果子',
    '汉堡',
    '寿司',
    '炭烧酸奶一杯',
    '蛋挞2个',
    '山竹',
    '芒果',
    '寿司',
    '丹麦奶酪',
    '牛奶1盒',
    '红毛丹'
]

def Dessert():
    txt="宵夜推荐:"
    t_t=GetRandomNumList(11)#11种甜品
    t_l=random.randint(1,2)#两种宵夜搭配类型
    if t_l==1 : #类型一:5甜品
        for i in range(0,5):
            if i != 4:
                txt=txt+DessertList[t_t[i]]+"+"
            else:
                txt=txt+DessertList[t_t[i]]
    else:  #类型二:1甜品
        txt=txt+DessertList[t_t[1]]
    return txt
    
#产生 1 - n 之间不重复随机数
def GetRandomNumList(len):
    rsList = []
    for i in range(0,len):
        rsList.append(i)
    for i in range(0,len):
        num = random.randint(0,len)
        tmp = rsList[i]
        rsList[i] = rsList[num]
        rsList[num] = tmp    
    return rsList

print(Dessert())

然后我们就可以获得宵夜推荐:蛋挞2个+丹麦奶酪+炭烧酸奶一杯+寿司+牛奶1盒

你可能感兴趣的