一、彩票双色球练习 –题目要求:

1、一个号码序列包含1个蓝色球,6个红色球(其中蓝色球数字号码1-16中任意数字;红色球数字号码1-33中任意6个数字)

2、每个号码球数字显示为两位(如:01  03  23)

3、每一个号码序列按从小到大排列

3、输入数字几,就产生几个号码序列

4、将产生的号码序列存入文件sequence.txt中

5、文件中的号码序列不得重复

 

参考答案:

import random

FILE_NAME = \'sequence.txt\'
def op_file(content=None):
    """

    :param content: content,传入文件内容
    :return: 返回读取的整个文件
    """
    with open(\'sequence.txt\',\'a+\',encoding=\'utf-8\') as fw:
        if content:
            fw.write(content)
        else:
            fw.seek(0)
            return fw.read()


def create_ball():
    """

    :return: None
    """
    blue_ball = [str(i).zfill(2) for i in range(1,17)]
    blue_str = random.choice(blue_ball)
    red_ball = [str(i).zfill(2) for i in range(1,34)]
    red_seq = random.sample(red_ball,6)
    red_seq.sort()
    red_str = \' \'.join(red_seq)
    result = \'红球是:%s  蓝球是:%s\n\'%(red_str,blue_str)
    if result not in FILE_NAME:
        op_file(result)


def count(num):
    """

    :param num: 输入随机数字
    :return: 返回num次 create_ball函数的结果
    """
    for c in range(num):
        create_ball()




count(8)

二、知识点回顾:

1、列表生成式写法 [x for x in rang(10)]==> 生成0-9的列表

2、条件列表生成式写法 [x for x in rang(10) if x%2==0]==> 生成0-9中,偶数的列表

3、列表转换成字符串==>\’ \’.join(list)

版权声明:本文为zzsay原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zzsay/p/12777862.html