各人が対応する抽選コードを生成します。
ロットの描画を開始します。
優勝結果を発表します。
このケースの記述は比較的単純です。実際の実稼働環境はこれよりもはるかに複雑ですが、基本的なロジックは同じです...
import random
def get_random_code(num_code):"""
ランダムな検証コードを生成して返します
: param num_code:ランダム検証コードの数字
"""
list_code =[]for i inrange(num_code):
# (1)3種類のキャラクターをランダムに生成する
# (1-1)ランダムに0を生成します~ナンバー9
num =str(random.randint(0,9))
# (1-2)小文字をランダムに生成する
lower_alphabet =chr(random.randint(97,122))
# (1-3)大文字をランダムに生成する
upper_alphabet =chr(random.randint(65,90))
# (2)キャラクターをもう一度ランダムにサンプリングする
random_code = random.choice([num, lower_alphabet, upper_alphabet])
# (3)ランダムに選択した文字を保存する
list_code.append(random_code)return"".join(list_code)
def main():
# 抽選の総数
draw_num =30
# 勝者の総数
draw_result_num =10
# 総抽選コードのリスト
draw_list =[]
# 入賞した抽選コードのリスト
draw_result_list =[]
# (1)シミュレートして抽選コードを生成します。実際には、全員が自分で抽選コードを取得する必要があります。ループを使用してシミュレートします。
for i inrange(draw_num):
draw_code =get_random_code(6)while draw_code in draw_list:
# ラベルを繰り返し、抽選コードを再生成する必要があります
draw_code =get_random_code(6)else:
# 生成されたタグコードをリストに追加します
draw_list.append(draw_code)
# (2)ロットを描画するプロセスをシミュレートします
print("合計{}宝くじコード:{}".format(draw_num, draw_list))for i inrange(draw_result_num):
# NO1:このようにして、生成された抽選コードの合計が削除されるため、他の方法が引き続き使用されます
# random_index = random.randint(0,len(draw_list)-1)
# draw_result_list.append(draw_list.pop(random_index))
# NO2:
a =0
b =len(draw_list)-1
draw_code = draw_list[random.randint(a, b)]while draw_code in draw_result_list:
# ラベルを複製し、再度ロットを描画します
draw_code = draw_list[random.randint(a, b)]else:
# 抽選コードをリストに追加します
draw_result_list.append(draw_code)
# (3)抽選結果を発表する
print("{}当選した抽選の抽選コードは以下のとおりです。".format(draw_result_num))for item in draw_result_list:print(item)if __name__ =='__main__':main()
コンソール出力:
合計30の宝くじコードが生成されました:['511uCZ'、 'nAYBf8'、 '6I92sq'、 '206FxX'、 '1WMHCb'、 'sdJUMU'、 'e4A85p'、 '14Ae35'、 'n4xA44'、 '94i4eG'、 ' L8981K '、' 11wtyN '、' i5k5Xk '、' 7S8Tf7 '、' cGC4Ku '、' f8dM40 '、' nBi958 '、' ELDVqz '、' MQZFJQ '、' hPPqh5 '、' Qr682E '、' E2Z4RJ '、' Ilm 、 'J71Pc1'、 'JPZpv8'、 'svAlm3'、 '9GaS9U'、 'v8378K'、 '116u2b'、 'x688xP']
10 入賞した抽選の抽選コードは以下のとおりです。
i5k5Xk
v8378K
e4A85p
J71Pc1
hPPqh5
1 WMHCb
JPZpv8
sdJUMU
9 GaS9U
MQZFJQ
これまで、マスク抽選を実装するためのpython3の機能に関するこの記事を紹介しました。関連するpython3マスク抽選のコンテンツについては、ZaLou.Cnで以前の記事を検索するか、以下の関連記事を引き続き参照してください。
Recommended Posts