python纯函数_理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统
原标题:理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统
前面已经带大家学习了函数,高级数据类型,比如说字典,今天带大家用函数加字典做一个游戏管理系统,希望大家喜欢.废话不多说,直接上源码~~~
源码截图
运行效果截图
后期成品截图(这个很复杂,需要报名教学)
App,可以从我的博客下载试玩
游戏网站,包括手机页游,电脑页游,变态游戏,折扣游戏,单击游戏,可以从我博客点击前往试玩~~~
全部源码:直接新建一个Python文件,把源码复制进去,运行即可
# 所有游戏记录的列表
card_list = [
{"game_name": "时空猎人",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "全民枪战",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "时空召唤",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "造梦西游OL",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "决斗之城",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "我叫MT",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "猎魂觉醒",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "永远的7日之都",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "不良人2",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
{"game_name": "剑与家园",
"game_belong": "Android",
"game_discount": "0.5折",
"game_url": "http://lxgzhw520.com"
},
]
def show_menu:
"""显示菜单
"""
print("*" * 50)
print("欢迎使用【游戏管理系统】V1.0")
print("")
print("1. 新增游戏")
print("2. 全部游戏")
print("3. 查询游戏")
print("")
print("0. 退出系统")
print("*" * 50)
def new_card:
"""新建游戏
"""
print("-" * 50)
print("功能:新建游戏")
# 1. 提示用户输入游戏信息
game_name = input("请输入游戏名字:")
game_belong = input("请输入游戏平台:")
game_discount = input("请输入游戏折扣:")
game_url = input("请输入游戏下载地址:")
# 2. 将用户信息保存到一个字典
card_dict = {"game_name": game_name,
"game_belong": game_belong,
"game_discount": game_discount,
"game_url": game_url}
# 3. 将用户字典添加到游戏列表
card_list.append(card_dict)
# print(card_list)
# 4. 提示添加成功信息
print("成功添加 %s 的游戏" % card_dict["game_name"])
def show_all:
"""显示全部游戏
"""
print("-" * 50)
print("功能:显示全部游戏")
# 1. 判断是否有游戏记录
if len(card_list) == 0:
print("提示:没有任何游戏记录")
return
# 2. 显示所有游戏
print("游戏名字\t\t游戏平台\t\t游戏折扣\t\t下载地址")
print("-" * 60)
for card_dict in card_list:
print("%s\t\t%s\t\t%s\t\t%s" % (
card_dict["game_name"],
card_dict["game_belong"],
card_dict["game_discount"],
card_dict["game_url"]))
print("-" * 60)
def search_card:
"""搜索游戏
"""
print("-" * 50)
print("功能:搜索游戏")
# 1. 提示要搜索的姓名
find_game_name = input("请输入要搜索的游戏名字:")
# 2. 遍历字典
for card_dict in card_list:
if card_dict["game_name"] == find_game_name:
print("游戏名字\t\t游戏平台\t\t游戏折扣\t\t下载地址")
print("-" * 60)
print("%s\t\t%s\t\t%s\t\t%s" % (
card_dict["game_name"],
card_dict["game_belong"],
card_dict["game_discount"],
card_dict["game_url"]))
print("-" * 60)
deal_card(card_dict)
break
else:
print("没有找到 %s" % find_game_name)
def deal_card(find_dict):
"""操作搜索到的游戏字典
:param find_dict:游戏字典
"""
action_str = input("请输入对游戏的操作:1: 修改/ 2: 删除/ 0: 返回上级菜单")
if action_str == "1":
find_dict["game_name"] = input_card_info(find_dict["game_name"],
"请输入游戏名字[回车不修改]:")
find_dict["game_belong"] = input_card_info(find_dict["game_belong"],
"请输入游戏平台[回车不修改]:")
find_dict["game_discount"] = input_card_info(find_dict["game_discount"],
"请输入游戏折扣[回车不修改]:")
find_dict["game_url"] = input_card_info(find_dict["game_url"],
"请输入下载地址[回车不修改]:")
print("%s 的游戏修改成功!" % find_dict["game_name"])
elif action_str == "2":
card_list.remove(find_dict)
print("删除游戏成功!")
def input_card_info(dict_value, tip_message):
"""输入游戏信息
:param dict_value: 字典中原有的值
:param tip_message: 输入的提示文字
:return: 如果用户输入了内容,就返回内容,否则返回字典中原有的值
"""
# 1. 提示用户输入内容
result_str = input(tip_message)
# 2. 针对用户的输入进行判断,如果用户输入了内容,直接返回结果
if len(result_str) > 0:
return result_str
# 3. 如果用户没有输入内容,返回 `字典中原有的值`
else:
return dict_value
while True:
show_menu
action = input("请选择操作功能:")
print("您选择的操作是:%s" % action)
# 根据用户输入决定后续的操作
if action in ["1", "2", "3"]:
if action == "1":
new_card
elif action == "2":
show_all
elif action == "3":
search_card
elif action == "0":
print("欢迎再次使用【游戏管理系统】")
break
else:
print("输入错误,请重新输入:")返回搜狐,查看更多
责任编辑:
python纯函数_理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统相关推荐
- python数据分析从入门到精通电子工业出版社_荐书丨Python数据分析从入门到精通...
点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 采用Python 3.6版本,兼容Python 3.X等众多版本 一本书搞定IPy ...
- Scala入门到精通——第十三节 高阶函数
本节主要内容 高阶函数简介 Scala中的常用高阶函数 SAM转换 函数柯里化 部分应用函数 1. 高阶函数简介 高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数):另外一种是返 ...
- Excel公式与函数案例速查手册/电脑技巧从入门到精通丛书
出版社: 机械工业出版社; 第1版 (2013年12月1日) 丛书名: 电脑技巧从入门到精通丛书 平装: 770页 语种: 简体中文 开本: 32 条形码: 9787111448761 商品尺寸: 1 ...
- python如何分别控制2个相同的窗口_Python入门到精通(2):使用Python计算数学算式...
IDLE是Python的集成开发环境,IDLE包含在Python安装包中,Python安装完成后,IDLE就自动安装好了. 1.启动IDLE 启动IDLE开发工具主要有两种方法:第一种方法是在小娜搜索 ...
- 《批处理BAT从入门到精通》总目录_培训教程持续更新中...
<--返回「批处理BAT从入门到精通」专栏主页--> 在从事"嵌入式软件开发"和"Autosar工具开发软件"过程中,经常会在其集成开发环境IDE( ...
- 全民一起玩python课件_【全民一起玩python】下载 - 面包树
|- 已开同步更新群A673006 - 文件夹 |- 62第三十七回 方法多态.mp4 - 43.30 MB |- 61第三十六回 pygame.mp4 - 46.60 MB |- 60第三十五回 面 ...
- python读取data_转载 “ 理想国@Data ”重拾Python(5):数据读取 博客
本文主要对Python如何读取数据进行总结梳理,涵盖从文本文件,尤其是excel文件(用于离线数据探索分析),以及结构化数据库(以Mysql为例)中读取数据等内容. 约定: import numpy ...
- Python实战从入门到精通第十二讲——给函数参数增加元信息
写好了一个函数,然后想为这个函数的参数增加一些额外的信息,这样的话其他使用者就能清楚的知道这个函数应该怎么使用. 使用函数参数注解是一个很好的办法,它能提示程序员应该怎样正确使用这个函数. 例如,下面 ...
- Python实战从入门到精通第十六讲——匿名函数捕获变量值
用lambda定义了一个匿名函数,并想在定义时捕获到某些变量的值. 先看下下面代码的效果: >>> x = 10 >>> a = lambda y: x + y & ...
最新文章
- 1291 火车线路(区间修改,区间最值)
- 使用Core Animation对象来实现动画
- ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
- volatile修饰变量
- DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
- Socket通信案例
- mybatis自增主键回填
- 移动WebApp开发 JS框架对比
- 360全景拼接 opencv_全景拼接算法简介
- WINRAR弹出激活框解决
- python手写实现均值滤波_python手写均值滤波
- 第1章第10节:如何使用PowerPoint的视图功能 [PowerPoint精美幻灯片实战教程]
- 贴片晶振的脚位方向如何区分
- java架构知识-分布式(学习笔记)
- Hadoop生态系统
- UI设计学习:Logo
- 算法之排序算法(冒泡法和选择法)
- string+DFS leetcode-17.电话号码下的字母组合
- 同步IO(阻塞IO、非阻塞IO), 异步IO的理解
- 第10章 51PC实物制作
热门文章
- pbrt-v2-skin皮肤渲染模型的配置
- 在展示用户信息时,为保护用户隐私,部分数据需要进行部分隐藏(又叫数据脱敏)
- left join,right join,inner join在oracle上的莱鸟问题
- 数字系统课程设计——VHDL密码锁控制器
- linux sockaddr in,Linux C中sockaddr和sockaddr_in的区别
- Android中表面视图SurfaceView相关知识点
- 基于 Verilog 的经典数字电路设计(2)比较器
- 如何进入BIOS及恢复BIOS出厂设置
- smarthosts
- 多个div排列在同一行而不换行