原标题:理想国真恵玩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天_纯函数写游戏管理系统相关推荐

  1. python数据分析从入门到精通电子工业出版社_荐书丨Python数据分析从入门到精通...

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 采用Python 3.6版本,兼容Python 3.X等众多版本 一本书搞定IPy ...

  2. Scala入门到精通——第十三节 高阶函数

    本节主要内容 高阶函数简介 Scala中的常用高阶函数 SAM转换 函数柯里化 部分应用函数 1. 高阶函数简介 高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数):另外一种是返 ...

  3. Excel公式与函数案例速查手册/电脑技巧从入门到精通丛书

    出版社: 机械工业出版社; 第1版 (2013年12月1日) 丛书名: 电脑技巧从入门到精通丛书 平装: 770页 语种: 简体中文 开本: 32 条形码: 9787111448761 商品尺寸: 1 ...

  4. python如何分别控制2个相同的窗口_Python入门到精通(2):使用Python计算数学算式...

    IDLE是Python的集成开发环境,IDLE包含在Python安装包中,Python安装完成后,IDLE就自动安装好了. 1.启动IDLE 启动IDLE开发工具主要有两种方法:第一种方法是在小娜搜索 ...

  5. 《批处理BAT从入门到精通》总目录_培训教程持续更新中...

    <--返回「批处理BAT从入门到精通」专栏主页--> 在从事"嵌入式软件开发"和"Autosar工具开发软件"过程中,经常会在其集成开发环境IDE( ...

  6. 全民一起玩python课件_【全民一起玩python】下载 - 面包树

    |- 已开同步更新群A673006 - 文件夹 |- 62第三十七回 方法多态.mp4 - 43.30 MB |- 61第三十六回 pygame.mp4 - 46.60 MB |- 60第三十五回 面 ...

  7. python读取data_转载 “ 理想国@Data ”重拾Python(5):数据读取 博客

    本文主要对Python如何读取数据进行总结梳理,涵盖从文本文件,尤其是excel文件(用于离线数据探索分析),以及结构化数据库(以Mysql为例)中读取数据等内容. 约定: import numpy ...

  8. Python实战从入门到精通第十二讲——给函数参数增加元信息

    写好了一个函数,然后想为这个函数的参数增加一些额外的信息,这样的话其他使用者就能清楚的知道这个函数应该怎么使用. 使用函数参数注解是一个很好的办法,它能提示程序员应该怎样正确使用这个函数. 例如,下面 ...

  9. Python实战从入门到精通第十六讲——匿名函数捕获变量值

    用lambda定义了一个匿名函数,并想在定义时捕获到某些变量的值. 先看下下面代码的效果: >>> x = 10 >>> a = lambda y: x + y & ...

最新文章

  1. 1291 火车线路(区间修改,区间最值)
  2. 使用Core Animation对象来实现动画
  3. ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
  4. volatile修饰变量
  5. DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
  6. Socket通信案例
  7. mybatis自增主键回填
  8. 移动WebApp开发 JS框架对比
  9. 360全景拼接 opencv_全景拼接算法简介
  10. WINRAR弹出激活框解决
  11. python手写实现均值滤波_python手写均值滤波
  12. 第1章第10节:如何使用PowerPoint的视图功能 [PowerPoint精美幻灯片实战教程]
  13. 贴片晶振的脚位方向如何区分
  14. java架构知识-分布式(学习笔记)
  15. Hadoop生态系统
  16. UI设计学习:Logo
  17. 算法之排序算法(冒泡法和选择法)
  18. string+DFS leetcode-17.电话号码下的字母组合
  19. 同步IO(阻塞IO、非阻塞IO), 异步IO的理解
  20. 第10章 51PC实物制作

热门文章

  1. pbrt-v2-skin皮肤渲染模型的配置
  2. 在展示用户信息时,为保护用户隐私,部分数据需要进行部分隐藏(又叫数据脱敏)
  3. left join,right join,inner join在oracle上的莱鸟问题
  4. 数字系统课程设计——VHDL密码锁控制器
  5. linux sockaddr in,Linux C中sockaddr和sockaddr_in的区别
  6. Android中表面视图SurfaceView相关知识点
  7. 基于 Verilog 的经典数字电路设计(2)比较器
  8. 如何进入BIOS及恢复BIOS出厂设置
  9. smarthosts
  10. 多个div排列在同一行而不换行