IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 练习 | 用python写个抽奖程序 -> 正文阅读

[Python知识库]练习 | 用python写个抽奖程序

大家好,我是36度道,人生苦短,我用python~

今天写了个 “抽奖” 的一个小练习,巩固下知识点, 在此记录下来。

本次 “ 抽奖 ” 练习,只用了一个random库,用于从多个奖品中随机获取一个,所以先导入这个库

import random

然后分别设置下一、二、三等奖以及对应的奖品和奖品对应的库存

reward_info = {
    '一等奖': {'空调': 1, '洗衣机': 2, '扫地机': 3},
    '二等奖': {'保温杯': 2, '热水壶': 3, '电饭锅': 2},
    '三等奖': {'笔记本': 2, '书包': 2, '枕头': 3}
}

接着就是抽奖的核心代码,我将它封装在了一个函数里面

def random_reward(reward):

    if reward not in reward_info.keys(): 
        print('很遗憾,没有该奖项!')
    
    else:
    	# 获取该奖项的所有奖品
        goods = reward_info[reward] 
        
        # 判断是否还有奖品,没有的话就终止函数,不在继续执行后面的内容
        if not goods:
            print('很遗憾,%s 的奖品已抽完!' % reward)
            return None
            
        # 随机获取一个奖品
        reward_content = random.choice(list(goods.keys())) 
        print('恭喜抽中:%s' % reward_content)
        
        # 因为已经抽中,所以库存要减一
        reward_info[reward][reward_content] -= 1 
		
		# 库存减去后 判断下剩余库存是否为0,如果为0, 则在reward_info中删除该奖品
        if reward_info[reward][reward_content] == 0: 
            del reward_info[reward][reward_content]
        
        # 删完奖品后 判断下 该奖项是否还有奖品,如果没有奖品,则终止函数
        if not reward_info[reward]: 
            print('%s 的奖品已抽完!' % reward)
            return None
        
        # 如果还有奖品,就显示给用户看
        print('%s 的奖品还剩 %s' % (reward, str(reward_info[reward])))

最后就是调用函数了,这里为了看看三个奖项的输出情况,依次对三个奖项进行了输出,直到每个奖项的奖品都抽完为止

for i in ['一等奖', '二等奖', '三等奖']:
    for _ in range(sum(list(reward_info[i].values()))):
        print('-'*35)
        random_reward(i)

一起来看下效果如何
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果看完还满意,就点个赞让我知道吧~

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:42:11  更:2021-09-09 11:43:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:55:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码