Python零基础入门篇 - 32 - 模块化程序设计之函数的小实战(1)

  • 添加水果: 用户输入水果的名称、重量、日期信息,将信息保存在一个列表中

  • 列出当前所有水果: 打印输出当前所有水果的信息

  • 查询水果: 用户输入水果的名称,打印输出该水果的信息

  • 删除水果: 用户输入水果的名称,删除该水果的信息

通过命令行界面实现以上功能,程序 fruits_warehouse 运行时首先打印一个菜单,如下所示:

1: 添加水果信息

2: 显示所有水果

3: 查询水果信息

4: 删除水果信息

5: 退出

请根据提示的数字 1-5 输入要执行的操作:

所以我们定义一个 获取选项的函数,如下:

def get_option():

print(‘1: 添加水果信息’)

print(‘2: 显示所有水果’)

print(‘3: 查询水果信息’)

print(‘4: 删除水果信息’)

print(‘5: 退出’)

option = input('请根据提示输入要执行的操作: 数字 1-5 ')

return option

get_option()

>>> 执行结果如下:

>>> 1: 添加水果信息

>>> 2: 显示所有水果

>>> 3: 查询水果信息

>>> 4: 删除水果信息

>>> 5: 退出

>>> 请根据提示的数字 1-5 输入要执行的操作:

主功能实现与程序入口

总共有 5 个选项,用户输入对应的数字选择相应的功能,如下表所示:

| 数字选项 | 对应功能 |

| :-: | :-: |

| 1 : add_fruit | 添加水果信息 |

| 2:search_all_fruits | 列出当前所有水果信息 |

| 3:query_fruit | 查询水果信息 |

| 4:del_fruit | 删除水果信息 |

| 5:quit | 退出 |

编写对应的函数,这里我们先写出函数的定义,暂时使用 pass 占位,代码如下

def add_fruit(): # 添加水果信息

pass

def search_all_fruits(): # 列出当前所有水果信息

pass

def query_fruit(): # 查询水果信息

pass

def del_fruit(): # 删除水果信息

pass

def main(): # 主程入口

pass

接下来我们就实现以下 主程入口与获取用户的输入

fruits =[] # 创建一个空列表 fruits,fruits 记录所有水果的信息

def get_option(): # 获取用户输入

print(‘1: 添加水果信息’)

print(‘2: 显示所有水果’)

print(‘3: 查询水果信息’)

print(‘4: 删除水果信息’)

print(‘5: 退出’)

option = input('请根据提示输入要执行的操作: 数字 1-5 ')

return option

def add_fruit(): # 添加水果信息

pass

def search_all_fruits(): # 列出当前所有水果信息

pass

def query_fruit(): # 查询水果信息

pass

def del_fruit(): # 删除水果信息

pass

def main(): # 主程入口

while True:

option = get_option()

if option == ‘1’:

add_fruit()

elif option == ‘2’:

search_all_fruits()

elif option == ‘3’:

query_fruit()

elif option == ‘4’:

ddel_fruit()

elif option == ‘5’:

break

else:

print(‘输入错误!请重新输入!’)

main()

实现添加功能

def add_fruit(): # 添加水果信息

name = input('name: ')

weight = input('weight: ')

date = input('date: ')

fruit = {‘name’: name, ‘weight’: weight, ‘date’: date}

fruits.append(fruit)

实现列出所有信息功能

def search_all_fruits(): # 列出当前所有水果信息

if len(fruits) == 0:

print(‘**************’)

print(‘当前仓库没有水果’)

print(‘**************’)

else:

for fruit in fruits:

print(f’%s,%s,%s’ % (fruit[‘name’], fruit[‘weight’], fruit[‘date’]))

实现查询信息功能

def query_fruit(): # 查询水果信息

name = input('name: ')

if len(fruits) == 0:

print(‘***************’)

print(‘当前仓库没有水果’)

print(‘***************’)

else:

for fruit in fruits:

if fruit[‘name’] == name:

print(f’%s,%s,%s’ % (fruit[‘name’], fruit[‘weight’], fruit[‘date’]))

实现删除信息功能

def del_fruit(): # 删除水果信息

name = input('name: ')

if len(fruits) == 0:

print(‘***************’)

print(‘当前仓库没有水果’)

print(‘***************’)

else:

for fruit in fruits:

if fruit[‘name’] == name:

fruits.remove(fruit)

break

完整程序如下


注意:这个完整程序的功能其实并不算完整,只能说是实现了一个基础功能;比如一个场景,当我们要查询、删除的水果并不在 fruits 列表 的时候,这里并没有做校验,只是校验了当前水果列表是否存在水果(长度判断)。

所以大家可以自己动手完善一下。 😋😋😋😋😋😋 😋😋😋😋😋😋 😋😋😋😋😋😋

coding:utf-8

“”"

@Author:Neo

@Date:2020/1/14

@Filename:fruits_warehouse.py

@Software:Pycharm

“”"

fruits = [] # 创建一个空列表 fruits,fruits 记录所有水果的信息

def get_option(): # 获取用户输入

print(‘1: 添加水果信息’)

print(‘2: 显示所有水果’)

print(‘3: 查询水果信息’)

print(‘4: 删除水果信息’)

print(‘5: 退出’)

option = input('请根据提示 数字 1-5 输入要执行的操作: ')

return option

def add_fruit(): # 添加水果信息

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值