python函数做菜单_学不会的Python函数——函数小案例(名片管理器)
名片管理器是一款生活实用类软件,用来协助管理手机中的所有名片。为了帮助大家在实际应用中学会选择使用四种类型的函数,接下来我们开发一个名片管理器。这个案例要求使用函数完成各种功能,并且根据键盘的输入来选择对应的函数完成这些功能。
函数的四种类型函数无参数,无返回值。
函数无参数,有返回值。
函数有参数,无返回值。
函数有参数,有返回值。
下面是名片管理器的菜单系统效果图
名片管理器菜单中共有五种功能,通过接收键盘输入的序号,相应用户选择的功能。一旦用户输入了"5",就会退出系统。
具体实现步骤如下:
1.输出名片管理器的菜单
定义输出菜单功能的函数。考虑到该函数只用来输出信息,并且输出的内容是固定不变的,所以定义一个无参数无返回值的函数cardMenu。
def cardMenu():
# 名片管理器菜单
print("-" * 30)
print(" 名片管理系统")
print("1.添加名片")
print("2.删除名片")
print("3.修改名片")
print("4.获取所有名片信息")
print("5.退出系统")
print("-" * 30)
使用cardMenu()调用函数,控制台便输出了菜单信息。
2.获取用户输入的信息
菜单显示以后,用户根据提示输入要执行的序号。通过input()函数从键盘接收用户的选择,并把选择的序号进行返回,所以定义一个无参数有返回值的函数getChoice()。
#获取用户输入的信息
def getChoice():
keyboardInput = input("请输入选择的序号")
keyboardInput = int(keyboardInput)
return(keyboardInput)
注意:input函数获取的数据,即使是数字,也是以字符串的方式进行保存的,所以在第4行里我们要转换成int类型。
打印菜单之后,调用getChoice()函数来获取用户输入的信息。
#等待用户选择
key = getChoice()
执行效果:
3.通过获取序号,执行不同的功能
获取序号以后,根据序号执行相应的操作。使用if语句根据用户选择的序号完成相应的功能。
if key == 1:
pass
elif key == 2:
pass
elif key == 3:
pass
elif key == 4:
pass
elif key == 5:
pass
else:
print("输入有误,请重新输入。")
接下来,在每个条件下来处理该序号对应的功能。
3.1添加名片
想要保存所有名片的信息,需要用到列表。先定义一个名片列表,nameCard = ["喜小乐","石敢当","大头鹅","扬州蟹"]。用户选择了序号1,此时应该提示用户输入姓名,然后添加到上述列表中,因此我们定义一个无参数无返回值的函数。
#添加名片
def addCard():
newCard = input("请输入姓名:")
nameCard.append(newCard)
接着在用户选择序号1的时候,调用上述方法实现添加名片的功能。
if key == 1:
addCard()
elif key == 2:
...省略...
运行结果:
3.2删除名片
用户选择了序号2,此时应该提示用户输入姓名,然后删除列表中相对应的内容,因此我们定义一个无参数无返回值的函数。
#删除名片
def removeCard():
delCard = input("请输入姓名:")
nameCard.remove(delCard)
接着在用户选择序号2的时候,调用上述方法实现删除名片的功能。
elif key == 2:
removeCard()
运行结果:
3.3修改名片
用户选择了序号3,此时应该提示用户输入原名和修改后的姓名,然后上述列表中相对应的内容,因此我们定义一个无参数无返回值的函数。
#修改名片
def recomposeCard():
name = input("请输入原名:")
indexVariable = nameCard.index(name)
newName = input("请输入修改后的名字:")
nameCard[indexVariable] = newName
接着在用户选择序号3的时候,调用上述方法实现修改名片的功能。
elif key == 3:
recomposeCard()
运行结果:
3.4获取所有名片信息
用户选择了序号4,此时应该从列表中获取所有的姓名信息,按照固定的格式进行打印,因此我们定义一个有参数无返回值的函数。
#查看所有名片的信息
def printCard(List):
print("=" * 30)
for card in List:
print(card)
print("=" * 30)
接着在用户选择序号3的时候,调用上述方法实现查看所有名片的功能。
elif key == 4:
printCard(nameCard)
运行结果:
3.5退出系统
#退出系统
print("感谢您的使用,再见。")
exit()
运行结果:
4.全部代码
def cardMenu():
#名片管理器菜单
print("-" * 30)
print(" 名片管理系统")
print("1.添加名片")
print("2.删除名片")
print("3.修改名片")
print("4.获取所有名片信息")
print("5.退出系统")
print("-" * 30)
def getChoice():
#获取用户输入的信息
keyboardInput = input("请输入选择的序号")
keyboardInput = int(keyboardInput)
return(keyboardInput)
def addCard():
#添加名片
newCard = input("请输入姓名:")
nameCard.append(newCard)
def removeCard():
#删除名片
delCard = input("请输入姓名:")
nameCard.remove(delCard)
def recomposeCard():
#修改名片
name = input("请输入原名:")
indexVariable = nameCard.index(name)
newName = input("请输入修改后的名字:")
nameCard[indexVariable] = newName
def printCard(List):
#查看所有名片信息
print("=" * 30)
for card in List:
print(card)
print("=" * 30)
#新建一个保存名片信息的列表
nameCard = ["喜小乐","石敢当","大头鹅","扬州蟹"]
cardMenu()
#等待用户选择
time = 1
while time < 2:
key = getChoice()
if key == 1:
addCard()
elif key == 2:
removeCard()
elif key == 3:
recomposeCard()
elif key == 4:
printCard(nameCard)
elif key == 5:
print("感谢您的使用,再见。")
#退出程序
exit()
else:
print("输入有误,请重新输入。")
Python其实没有那么难。
python函数做菜单_学不会的Python函数——函数小案例(名片管理器)相关推荐
- python如何做动画_如何在Python中动画动态系统的运动?
假设你有一个4个微分方程,它代表了一个动态系统(推车上的钟摆)的运动,你用来求解这些方程scipy.integrate.odeint持续10秒,间隔0.01秒.在 最后得到尺寸为(1000,4)的解矩 ...
- java和python结合做项目_由浅入深Java+Python结合项目实战
[课程内容] [初级项目:图片社交+电商导购+漂流瓶] 项目实现功能: 用户注册,登录,登出图片的多种上传方式,删除首页图片分类,排序和分页个人页管理图片分享 课程内容: 开发工具和Python语言介 ...
- python怎么做数据分析_如何用python进行数据分析
1.Python数据分析流程及学习路径 数据分析的流程概括起来主要是:读写.处理计算.分析建模和可视化四个部分.在不同的步骤中会用到不同的Python工具.每一步的主题也包含众多内容. 根据每个部分需 ...
- python怎么做项目_...内学习python和django,并做出一个项目需要怎么准备,可以做什么......
匿名用户 1级 2016-05-18 回答 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GN ...
- python怎么做表格_怎么用python画表格?
Python通过prettytable模块将输出内容如表格方式整齐输出,python本身并不内置,需要独立安装该第三方库. 在cmd中使用下面的命令即可安装:pip install PrettyTab ...
- 怎样在python中做多元回归_如何在python中绘制多元回归三维图
我不是科学家,所以请假设我不知道有经验的程序员的行话,也不知道复杂的科学绘图技术.Python是我唯一知道的语言(初学者+或者中级). 任务:将多元回归(z=f(x,y))的结果绘制为三维图形上的二维 ...
- python怎么做回归分析_如何在Python中进行二维回归分析?
这是使用scipy.optimize.curve_fit拟合表面的示例Python代码,它使原始数据生成3D散点图,对错误进行3D散点图绘制,绘制表面图和轮廓图.更改它以使用您自己的数据和功能,您应该 ...
- python代码做图_如何用Python代码制作图
Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. 图是一 ...
- python如何做人工智能_如何入门Python人工智能
随着人工智能的热度越来越高,Python这门编程语言也被推上了风口浪尖,越来越多的程序员为了接触人工智能,而拼命的学习Python,当然是一件好事! 首先作为一名程序员,掌握多门语言是基本功,多会一门 ...
最新文章
- python经典问题在stack overflow上的回答
- 皮一皮:成人世界的潜台词...
- 使用 MWC V2.5 中的 MPU6050中的DMP进行计算姿态(转载)
- python控制命令行光标位置_python实现cli命令行的进度条光标滚动显示效果
- oracle 实例用法,Oracle merge into用法以及相关例子示例
- 认识flex中的sprite
- 关于ViewPager的适配器之——pagerAdapter加载缓存页面的机制
- Angular 内容投影 II
- vue项目创建步骤 和 路由router知识点
- zabbix简介及部署
- linux服务器知识学习:了解Linux系统的启动过程
- 开源字体lato fonts
- Intouch | 报警延时设定
- 图片大小怎么调整?图片怎么改尺寸?
- 热搜第一!中国烟草总公司工资曝光,员工人均年收入超18万元!网友:简直是不锈钢饭碗!...
- 微信小程序android和IOS拨打电话区别
- 黑马头条从登陆页到个人中心页
- C#框架设计之浅谈SOA与钝化模式
- Android 百度地图marker中图片不显示的解决方案
- Windows远程映射端口,访问服务器生成的tensorboard本地访问链接地址
热门文章
- web接入大华摄像头实时视频
- pet 计算机术语,计算机专业英语翻译1?计算机专业英语翻译1、Tobecompet 爱问知识人...
- 搭建帮助中心无方法,Baklib帮你轻松解决
- 微信小程序拼团功能页面展示
- Word——怎么在word中插入特殊符号圈4
- 东北农业大学考研计算机大纲,东北农业大学339农业知识综合一考研大纲
- 一、PHP基础-安装PHP集成环境
- Ubuntu如何发音
- JQuery dataTable 扩展+Ajax Post,Get一些基本操作(二)
- 教你如何看懂photoshop中的直方图 让曝光达到完美