■トランプの作成方法
▼前提条件
①トランプの数字が以下の場合はアルファベットに変更する
「 1 」のときは「 A 」
「 11 」のときは「 J 」
「 12 」のときは「 Q 」
「 13 」のときは「 K 」
②ジョーカーは作成しないものとする。
▼トランプ作成処理概要(メイン処理)
マークの配列に「’スペード’, ‘ハート’, ‘クローバー’, ‘ダイヤ’」を格納(4種類)する。
番号の配列に「トランプの番号作成する関数」で作成した番号(1から13の番号)を格納する。
トランプの配列に「マーク+番号」の形式で値を格納(計52枚)する。
トランプの配列からランダムに2枚取得する。
※1度取得したトランプについては取り除き、2枚同じカードが出力されないようにする。
▼トランプの番号作成する関数の処理概要
引数の任意の数について、13で割った余り(★)を取得する。
取得した値(★)について、
(★)=0の時は「A」
(★)=10の時は「J」
(★)=11の時は「Q」
(★)=12の時は「K」
(★)=上記以外の時は「(★)+1」
とする。
■サンプルコード
# -*- Coding: utf-8 -*-
import random
# トランプの番号作成する関数
def CreateCard(num):
# 13で割った余りを変数に格納
n = num % 13
# A:エース、J:ジャック、Q:クイーン、K:キングに変換
if n == 0:
cardNo = 'A'
elif n == 10:
cardNo = 'J'
elif n == 11:
cardNo = 'Q'
elif n == 12:
cardNo = 'K'
else:
cardNo = str(n + 1)
return cardNo
# メイン処理
if __name__ == '__main__':
# 初期処理(トランプのマークと番号を入れる配列セット)
mark = ['スペード', 'ハート', 'クローバー', 'ダイヤ']
cardnum = []
# マークと番号を格納する変数
trump = []
# トランプの番号作成:枚数分(13枚)繰り返し
for i in range(13):
# トランプの数字を取得
resultnum = CreateCard(i)
# 配列に番号を追加
cardnum.append(resultnum)
# マークと番号を格納する
for i in range(len(mark)):
for j in range(len(cardnum)):
trump.append(mark[i]+ cardnum[j])
# ランダムに2枚出力
for i in range(2):
# ランダムな数をセット
# トランプ : 0〜51(52枚)
rand_card = random.randint(0, len(trump)-1)
# 1枚出力
print(trump[rand_card])
# 出力したカードは削除
trump.pop(rand_card)
■出力結果(例)
スペード6
クローバー9
コメント