超市最近在籌備一款水滸主題的卡牌類游戲,將綠林好漢設計成游戲中的一百零八張卡牌,卡牌共有 SSR、SR、R 三種稀有度。
你能編寫程序,讓玩家有 1% 的幾率抽中 SSR 卡、9% 幾率抽中 SR 卡、90% 幾率抽中 R 卡嗎?
數據說明
卡牌數據?cards
?變量中,變量共有兩層:
- 外層為?字典?類型,儲存著?稀有度-卡牌?鍵值對;
- 內層,即鍵值對中的值,是?列表?類型,儲存著該稀有度下的卡牌。
要求
- 設計并編寫?
draw_card()
?函數,該函數功能是從?cards
?中抽取一張卡牌,并調用編寫好的?print_slowly()
?函數打印出卡牌內容;- 調用?
draw_card()
?函數抽取卡牌。
# 從 time 模塊導入 sleep 方法
from time import sleep
import random
# 定義卡片參數
cards = {'SSR': ['宋江', '盧俊義', '吳用', '公孫勝', '關勝', '林沖'],'SR': ['秦明', '呼延灼', '花榮', '柴進', '李應', '朱仝', '魯智深', '武松', '董平', '張清', '楊志', '徐寧', '索超', '戴宗', '劉唐', '李逵', '史進', '穆弘', '雷橫', '李俊', '阮小二', '張橫', '阮小五', '張順', '阮小七', '楊雄', '石秀', '解珍', '解寶', '燕青'],'R': ['朱武', '黃信', '孫立', '宣贊', '郝思文', '韓滔', '彭玘', '單廷珪', '魏定國', '蕭讓', '裴宣', '歐鵬', '鄧飛', '燕順', '楊林', '凌振', '蔣敬', '呂方', '郭盛', '安道全', '皇甫端', '王英', '扈三娘', '鮑旭', '樊瑞', '孔明', '孔亮', '項充', '李袞', '金大堅', '馬麟', '童威', '童猛', '孟康', '侯健', '陳達', '楊春', '鄭天壽', '陶宗旺', '宋清', '樂和', '龔旺', '丁得孫', '穆春', '曹正', '宋萬', '杜遷', '薛永', '施恩', '李忠', '周通', '湯隆', '杜興', '鄒淵', '鄒潤', '朱貴', '朱富', '蔡福', '蔡慶', '李立', '李云', '焦挺', '石勇', '孫新', '顧大嫂', '張青', '孫二娘', '王定六', '郁保四', '白勝', '時遷', '段景住']
}# 請定義 draw_card() 函數
def draw_card(cards):index = random.randint(0,99)if index<= 1:name = 'SSR ',random.choice(cards['SSR'])elif index <= 10:name = 'SR ',random.choice(cards['SR'])else:name = 'R ',random.choice(cards['R'])
# 該函數功能為抽取一張卡牌,并調用 print_slowly() 函數打印出卡牌內容print_slowly(name)
# 緩慢打印
def print_slowly(text, delay=0.1):# 在一行內逐字打印 textfor letter in text:print(letter, end='')sleep(delay) # 每打印一個字,暫停 delay 秒print('')draw_card(cards)
# 輸出結果:(輸出結果為默認值)
# R 陳達
# R 丁得孫......