Python生成隨機大樂透(唯一性)

2021-10-16 15:16:23 字數 2004 閱讀 3893

import random

"""使用python模擬大樂透號碼生成器。選號規則為:

前區在1-35的範圍內隨機產生不重複的5個號碼,

後區在1-12的範圍內隨機產生不重複的2個號碼。

"""def

card()

: m =

0# 大樂透總位數索引

front =

# 前區列表

back =

# 後區列表

while m <7:

if m <5:

# 確保前區五個數字唯一不重複

card_number = random.randint(1,

35)if card_number not

in front:

m +=

1else

: card_number = random.randint(1,

12)# 確保後區兩個數字唯一不重複

if card_number not

in back:

m +=

1 front.sort(

)# 將兩個列表進行公升序排序

back.sort(

)for j in front:

print

('%02d'

% j, end=

' ')

# 依次輸出每個值,且個位數前面自動補0

print

(end=

' '

)# 前區與後區之間有一定間隔

for k in back:

print

('%02d'

% k, end=

' ')

print(''

)number =

input

('請輸入要生成的大樂透號碼注數:'

)for i in

range

(int

(number)):

card(

)

import random

"""使用python模擬大樂透號碼生成器。選號規則為:

前區在1-35的範圍內隨機產生不重複的5個號碼,

後區在1-12的範圍內隨機產生不重複的2個號碼。

"""def

card()

: front_list =

list

(range(1

,36))

# 前區數字列表

front = random.sample(front_list,5)

# 隨機取5個數字

back_list =

list

(range(1

,13))

# 後區數字列表

back = random.sample(back_list,2)

# 隨機取兩個數字

front.sort(

)# 將兩個列表進行公升序排序

back.sort(

)for j in front:

print

('%02d'

% j, end=

' ')

# 依次輸出每個值,且個位數前面自動補0

print

(end=

' '

)# 前區與後區之間有一定間隔

for k in back:

print

('%02d'

% k, end=

' ')

print(''

)number =

input

('請輸入要生成的大樂透號碼注數:'

如何生成隨機的唯一編碼

通常來講,oracle中生成隨機唯一編碼的方法就是呼叫sys guid 函式產生16進製制的16個字元的字串,如果用varchar2來儲存guid格式的字串,那就需要32個位元組,如果我們的編碼表的資料量很大,比如 的會員資訊表,其它的業務流水表會非常多地引用會員資訊表的主鍵,這個對儲存成本要求是非...

python 大樂透號碼生成器

選號規則 前區1 35的範圍隨機產生不重複的5個號碼,後區在1 12範圍內隨機生成2個不重複的2個號碼。如下 import random defnumber front str random.randint 1,35 for i in range 5 back str random.randint ...

QT 生成唯一的隨機碼

void setrandstring qstring randstring randstring str 2019 1 23 開發中發現,如果開了執行緒,在不同的執行緒中同時生產隨機碼,生成的隨機碼可能一樣。這是因為這句 引起的 qsrand t.msec t.second 1000 設定隨機數的種...