《Python编程从入门到实践第二版》第九章练习9-15 彩票分析


:使用循环来讲述彩票中奖的难度,刚接触编程,纯小白一个,感觉挺难的,网上也没有标准答案,分享下自己写的

from random import choice


def win_number(tickets, number):
    """输出开奖号码,参数为号码列表和随机选择数量"""
    i = 0
    win_tickets = []
    copy_tickets = tickets[:]  # 将号码列表复制
    while i < number:
        chioce = choice(copy_tickets)
        win_tickets.append(chioce)
        copy_tickets.remove(chioce)  # 将已经进入开奖列表里面的号码移出号码列表,避免开奖号码重复
        i += 1
    return win_tickets  # 返回中奖号码


def roll_tickets(win_tickets, tickets):
    """输出中奖号码和循环次数"""
    n = 0  # 循环次数
    my_tickets = []
    while True:
        i = 0
        copy_tickets = tickets[:]  # 将号码列表复制
        while i < len(win_tickets):
            n += 1
            chioce = choice(copy_tickets)
            my_tickets.append(chioce)
            copy_tickets.remove(chioce)  # 将已经进入彩票的号码移

你可能感兴趣的:(Python初学,python)