名片管理器是一款生活实用类软件,用来协助管理手机中的所有名片。为了帮助大家在实际应用中学会选择使用四种类型的函数,接下来我们开发一个名片管理器。这个案例要求使用函数完成各种功能,并且根据键盘的输入来选择对应的函数完成这些功能。

函数的四种类型函数无参数,无返回值。

函数无参数,有返回值。

函数有参数,无返回值。

函数有参数,有返回值。

下面是名片管理器的菜单系统效果图

名片管理器菜单中共有五种功能,通过接收键盘输入的序号,相应用户选择的功能。一旦用户输入了"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函数——函数小案例(名片管理器)相关推荐

  1. python如何做动画_如何在Python中动画动态系统的运动?

    假设你有一个4个微分方程,它代表了一个动态系统(推车上的钟摆)的运动,你用来求解这些方程scipy.integrate.odeint持续10秒,间隔0.01秒.在 最后得到尺寸为(1000,4)的解矩 ...

  2. java和python结合做项目_由浅入深Java+Python结合项目实战

    [课程内容] [初级项目:图片社交+电商导购+漂流瓶] 项目实现功能: 用户注册,登录,登出图片的多种上传方式,删除首页图片分类,排序和分页个人页管理图片分享 课程内容: 开发工具和Python语言介 ...

  3. python怎么做数据分析_如何用python进行数据分析

    1.Python数据分析流程及学习路径 数据分析的流程概括起来主要是:读写.处理计算.分析建模和可视化四个部分.在不同的步骤中会用到不同的Python工具.每一步的主题也包含众多内容. 根据每个部分需 ...

  4. python怎么做项目_...内学习python和django,并做出一个项目需要怎么准备,可以做什么......

    匿名用户 1级 2016-05-18 回答 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GN ...

  5. python怎么做表格_怎么用python画表格?

    Python通过prettytable模块将输出内容如表格方式整齐输出,python本身并不内置,需要独立安装该第三方库. 在cmd中使用下面的命令即可安装:pip install PrettyTab ...

  6. 怎样在python中做多元回归_如何在python中绘制多元回归三维图

    我不是科学家,所以请假设我不知道有经验的程序员的行话,也不知道复杂的科学绘图技术.Python是我唯一知道的语言(初学者+或者中级). 任务:将多元回归(z=f(x,y))的结果绘制为三维图形上的二维 ...

  7. python怎么做回归分析_如何在Python中进行二维回归分析?

    这是使用scipy.optimize.curve_fit拟合表面的示例Python代码,它使原始数据生成3D散点图,对错误进行3D散点图绘制,绘制表面图和轮廓图.更改它以使用您自己的数据和功能,您应该 ...

  8. python代码做图_如何用Python代码制作图

    Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. 图是一 ...

  9. python如何做人工智能_如何入门Python人工智能

    随着人工智能的热度越来越高,Python这门编程语言也被推上了风口浪尖,越来越多的程序员为了接触人工智能,而拼命的学习Python,当然是一件好事! 首先作为一名程序员,掌握多门语言是基本功,多会一门 ...

最新文章

  1. python经典问题在stack overflow上的回答
  2. 皮一皮:成人世界的潜台词...
  3. 使用 MWC V2.5 中的 MPU6050中的DMP进行计算姿态(转载)
  4. python控制命令行光标位置_python实现cli命令行的进度条光标滚动显示效果
  5. oracle 实例用法,Oracle merge into用法以及相关例子示例
  6. 认识flex中的sprite
  7. 关于ViewPager的适配器之——pagerAdapter加载缓存页面的机制
  8. Angular 内容投影 II
  9. vue项目创建步骤 和 路由router知识点
  10. zabbix简介及部署
  11. linux服务器知识学习:了解Linux系统的启动过程
  12. 开源字体lato fonts
  13. Intouch | 报警延时设定
  14. 图片大小怎么调整?图片怎么改尺寸?
  15. 热搜第一!中国烟草总公司工资曝光,员工人均年收入超18万元!网友:简直是不锈钢饭碗!...
  16. 微信小程序android和IOS拨打电话区别
  17. 黑马头条从登陆页到个人中心页
  18. C#框架设计之浅谈SOA与钝化模式
  19. Android 百度地图marker中图片不显示的解决方案
  20. Windows远程映射端口,访问服务器生成的tensorboard本地访问链接地址

热门文章

  1. web接入大华摄像头实时视频
  2. pet 计算机术语,计算机专业英语翻译1?计算机专业英语翻译1、Tobecompet 爱问知识人...
  3. 搭建帮助中心无方法,Baklib帮你轻松解决
  4. 微信小程序拼团功能页面展示
  5. Word——怎么在word中插入特殊符号圈4
  6. 东北农业大学考研计算机大纲,东北农业大学339农业知识综合一考研大纲
  7. 一、PHP基础-安装PHP集成环境
  8. Ubuntu如何发音
  9. JQuery dataTable 扩展+Ajax Post,Get一些基本操作(二)
  10. 教你如何看懂photoshop中的直方图 让曝光达到完美