支付宝集五福

支付宝集五福是2016年春节期间诞生的一个支付宝互动小游戏,近些年演变成了集五福的活动。使用手机扫福字可以随机获取爱国福、富强福、和谐福、友善福、敬业福中的任意一张卡。集齐五福后可以合成一张福卡,凭借此福卡,用户可以参与奖金的瓜分。同一个账户可以分到一个随机的现金红包。

下面编写程序模拟春节期间支付宝集五福的过程。在D:\PythonCode\ch10路径下新建一个文件夹blessing,用于保存主程序ch10-6.py和包pack。在包pack中创建名为__init__.py的程序文件,代码如下。

# 程序文件__init__.py
import  random  # 导入随机模块

def get_card():  # 获取福卡
    cards = ['爱国福', '富强福', '和谐福', '友善福', '敬业福']  # 福卡列表
    one = random.sample(cards, 1)  # 从福卡中随机取出一张
    return one   # 返回获取到的福卡

def print_cards(card):          # 输出当前拥有的所有福卡
    print('目前已有的福卡:')
    for i, j in card.items():   # 遍历福卡字典
        print(i, ': ', j, '\t', end='')    # 输出福卡

def all_cards(card):   # 判断五福是否集齐
    flag = 1   # 1表示集齐五福
    for i, j in card.items():
        if j == 0:  # 当任意一种福卡的数量为0时,不能合成五福
          flag = 0
    return flag   # 返回判断标识

主程序ch10-6.py的相关代码如下。

# 程序文件ch10-6.py
import sys    # 导入内置模块sys
import pack    # 导入自定义的包
print('开始支付宝集五福!')
dict1 = {'爱国福':0,'富强福':0,'和谐福':0,'友善福':0,'敬业福':0}
 
while  pack.all_cards(dict1) == 0:     # 判断是否集齐五福
    input('\n请按Enter键获取五福!')
    card = pack.get_card()[0]   # 获取福卡
    print('恭喜你得到:' + card)
    dict1[card] += 1   # 获取福卡后在字典dict1中加1
    pack.print_cards(dict1)  # 输出获取的福卡
print('\n恭喜你已经成功集成五福!快来一起瓜分奖金吧!')

执行程序文件ch10-6.py,结果如下。

(base) D:\PythonCode\ch10\blessing>python ch10-6.py
开始支付宝集五福!

请按Enter键获取五福!
恭喜你得到:和谐福
目前已有的福卡:
爱国福 :  0     富强福 :  0     和谐福 :  1     友善福 :  0     敬业福 :  0
请按Enter键获取五福!
恭喜你得到:富强福
目前已有的福卡:
爱国福 :  0     富强福 :  1     和谐福 :  1     友善福 :  0     敬业福 :  0
请按Enter键获取五福!
恭喜你得到:敬业福
目前已有的福卡:
爱国福 :  0     富强福 :  1     和谐福 :  1     友善福 :  0     敬业福 :  1
请按Enter键获取五福!
恭喜你得到:爱国福
目前已有的福卡:
爱国福 :  1     富强福 :  1     和谐福 :  1     友善福 :  0     敬业福 :  1
请按Enter键获取五福!
恭喜你得到:爱国福
目前已有的福卡:
爱国福 :  2     富强福 :  1     和谐福 :  1     友善福 :  0     敬业福 :  1
请按Enter键获取五福!
恭喜你得到:友善福
目前已有的福卡:
爱国福 :  2     富强福 :  1     和谐福 :  1     友善福 :  1     敬业福 :  1
恭喜你已经成功集成五福!快来一起瓜分奖金吧!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值