用python写一个集卡模拟器

超市最近在筹备一款水浒主题的卡牌类游戏,将绿林好汉设计成游戏中的一百零八张卡牌,卡牌共有 SSR、SR、R 三种稀有度。

你能编写程序,让玩家有 1% 的几率抽中 SSR 卡、9% 几率抽中 SR 卡、90% 几率抽中 R 卡吗?

数据说明

卡牌数据 cards 变量中,变量共有两层:

  1. 外层为 字典 类型,储存着 稀有度-卡牌 键值对;
  2. 内层,即键值对中的值,是 列表 类型,储存着该稀有度下的卡牌。

要求

  1. 设计并编写 draw_card() 函数,该函数功能是从 cards 中抽取一张卡牌,并调用编写好的 print_slowly() 函数打印出卡牌内容;
  2. 调用 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):
  # 在一行内逐字打印 text
  for letter in text:
    print(letter, end='')
    sleep(delay) # 每打印一个字,暂停 delay 秒
  print('')

draw_card(cards)

# 输出结果:(输出结果为默认值)

# R 陈达

# R 丁得孙......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值