python 模擬雙色球輸出


編寫Python函數:完成一個雙色球彩票的模擬生成過程,

其中前六個為紅色球,數字范圍1-33,不可重復。最后一個為藍色球 1-16。

import random

#red_nums是采集紅色球的數字,
#集合的目的是不用判斷隨機數字是否重疊,比較方便。如果使用列表,就要先去重后再來判斷長度是否到6,如果先判斷長度是否到6,萬一列表里有重復的元素,去重后就沒有6個元素了。
red_nums= set()
while True:
    red_num = int(random.random() * 34) #random.random()返回隨機生成的一個實數,它在[0,1)范圍內,所以要想得到33,必須乘以34
    if red_num == 0:
        continue
    else:
        red_nums.add(red_num)  #add()方法用於給集合添加元素,如果添加的元素在集合中已存在,則不執行任何操作
    if len(red_nums) == 6:
        break

# 將集合進行排序,彩票就是這樣的,前6個數字從小到大
red_ = sorted(red_nums)
# 將集合轉為列表的形式,方便向該數字中增加藍色數值
double_ball = list(red_)

# 生成一個不為0的1~16的藍色球數字
while True:
    blue_num = int(random.random() * 17)
    if blue_num != 0:
        break

# 組合成雙色球,藍色球數字和前六個紅色球的數字之間沒有關系
double_ball.append(blue_num)  
print(double_ball)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM