Python每日一練(1)-中國福彩雙色球生成機

中國福利彩票雙色球是由中華人民共和國財政部制定的,是一種聯合發行的樂透型福利彩票。雙色球每注2元,投注號碼由6個紅色球號碼1個藍色球號碼組成。紅色球號碼從1~33中選擇,藍色球號碼從1~16中選擇。雙色球採取全國統一獎池計獎。請編寫程序,完成如下功能:

(1) 輸入要生成的福彩雙色球組數,隨機批量產生福彩雙色球號碼,效果如圖所示。
在這裏插入圖片描述
示例代碼如下:

# -*- coding: utf-8 -*-
# @Time    : 2020/4/1 21:42
# @Author  : 我就是任性-Amo
# @FileName: 50.中國福彩雙色球生成機.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/xw1680

import random  # 導入模塊


def change_str(x):
    """功能:將數字轉換爲字符串"""
    x = str(x)
    # 三元表達式: A if 條件 else B 條件成立返回A 不成立返回B
    # 如果是個位數 在其前方補0 否則返回本身 舉例: 1-->01 31-->31
    x = '0' + x if len(x) == 1 else x
    return x


def create(num):
    nums_red = list(map(change_str, range(1, 34)))  # 生成紅球號碼列表,範圍在1-33
    nums_blue = list(map(change_str, range(1, 17)))  # 生成藍球號碼列表,範圍在1-16
    for i in range(num):  # 生成指定組號碼
        # random.sample: 從指定序列中隨機獲取指定長度的片斷並隨機排列。
        # 注意: sample函數不會修改原有序列。
        # 從nums_red中獲取6個數 並隨機排列
        num_red = random.sample(nums_red, 6)  # 隨機獲取紅球號碼
        num_blue = random.sample(nums_blue, 1)  # 隨機獲取藍球號碼
        print(f"\033[1;31m{'  '.join(num_red)}  \033[1;34m{num_blue[0]}\033[0m")


if __name__ == '__main__':
    nums = input('請輸入要生成的福彩雙色球組數: ').strip()
    print('-' * 40)
    if nums.isdigit():  # 判斷輸入的是否是數字
        create(int(nums))

(2) 每個人都有自己的幸運數字,把幸運數字作爲藍球,按照輸入的幸運數字及要生成的雙色球彩票組數,輸出福彩雙色球號碼,效果如圖所示。
在這裏插入圖片描述
示例代碼如下:

# -*- coding: utf-8 -*-
# @Time    : 2020/4/1 21:42
# @Author  : 我就是任性-Amo
# @FileName: 50.中國福彩雙色球生成機.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/xw1680

import random  # 導入模塊


def change_str(x):
    """功能:將數字轉換爲字符串"""
    x = str(x)
    # 三元表達式: A if 條件 else B 條件成立返回A 不成立返回B
    # 如果是個位數 在其前方補0 否則返回本身 舉例: 1-->01 31-->31
    x = '0' + x if len(x) == 1 else x
    return x


def create(num, luck_num):
    nums_red = list(map(change_str, range(1, 34)))  # 生成紅球號碼列表,範圍在1-33
    num_blue = change_str(luck_num)  # 籃球號碼
    for i in range(num):  # 生成指定組號碼
        num_red = random.sample(nums_red, 6)  # 隨機獲取紅球號碼
        print(f"\033[1;31m{'  '.join(num_red)}  \033[1;34m{num_blue}\033[0m")


if __name__ == '__main__':
    lucky_num = input("請輸入您的幸運號碼(1-16)作爲藍球號碼: ").strip()
    nums = input("請輸入要生成的福彩雙色球組數: ").strip()
    print('-' * 40)
    if nums.isdigit() and lucky_num.isdigit():  # 判斷輸入的是否是數字
        create(int(nums), lucky_num)

以上案例主要是運用了循環,自定義函數,map函數,random模塊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章