card_list = []

 def main_desk():
print('*'*50)
print('欢迎使用【名片管理系统】V1.0')
print('1.新建名片')
print('2.显示全部')
print('3.查询名片')
print('0.退出系统')
print('*'*50) def new_card():
print('新建名片')
print('='*50)
name_str = input('姓名:')
age_str = input('年龄:')
phone_str = input('电话:')
card_dict = {'name': name_str, 'age': age_str, 'phone': phone_str}
card_list.append(card_dict)
print(card_dict)
print(f'添加{name_str}名片成功') def show_all():
print('显示全部名片')
print('=' * 50)
if len(card_list) == 0:
print('名片为空,请先新建名片')
return
print('姓名\t\t年龄\t\t电话')
for card_dict in card_list:
print(f'{card_dict["name"]}\t\t{card_dict["age"]}\t\t{card_dict["phone"]}') def search_card():
print('查询名片')
find_name = input('请输入查找的姓名:')
for card_dict in card_list:
if card_dict['name'] == find_name:
print('='*50)
print('姓名\t\t年龄\t\t电话')
print(f'{card_dict["name"]}\t\t{card_dict["age"]}\t\t{card_dict["phone"]}')
deal_card(card_dict)
break
else:
print('名片不存在,请重新输入') def deal_card(find_dict):
action = input('请输入操作:【1】修改【2】删除【0】返回菜单:')
if action == '':
find_dict['name'] = work(find_dict['name'], '姓名:')
find_dict['age'] = work(find_dict['age'], '年龄:')
find_dict['phone'] = work(find_dict['phone'], '电话:')
print('修改名片成功')
elif action == '':
card_list.remove(find_dict)
print('删除成功') def work(dict_value, message):
result_str = input(message)
if len(result_str) > 0:
return result_str
else:
return dict_value while True:
main_desk()
action_str = input('请输入您的操作:')
print(f'您的操作是【{action_str}】')
if action_str == '':
new_card()
elif action_str == '':
show_all()
elif action_str == '':
search_card()
pass
elif action_str == '':
print('欢迎您再次使用【名片管理系统】')
break
else:
print('您的输入有误,请重新输入操作')

 

 

一、Python系列——函数的应用之名片管理系统的更多相关文章

  1. 学习笔记之Python人机交互小项目二:名片管理系统

    继上次利用列表相关知识做了简单的人机交互的小项目名字管理系统后,当学习到字典时,老师又让我们结合列表和字典的知识,结合一起做一个名片管理系统,这里分享给在学习Python的伙伴! 1.不使用函数 1 ...

  2. python视频学习笔记6(名片管理系统开发)

    cards_main.py主函数 cards_tools.py -------------------------------------------------------------------- ...

  3. Python-控制台实现简单的名片管理系统

    通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码. cards_main.py文件中提供程序的入口 import cards_toolslx while True: # TOD ...

  4. 2017寒假零基础学习Python系列之函数之 返回多个值

    Python也和C语言一样有自己的标准库,不过在Python中叫做模块(module),这个和C语言中的头文件以及Java中的包类似,其中math就是其中之一,math模块中提供了sin()和cos( ...

  5. Python系列:四、Python函数--技术流ken

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  6. python案例:实现一个函数版的名片管理系统

    本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...

  7. 总结整理 -- python系列

    python系列 python--基础学习(一)开发环境搭建,体验HelloWorld python--基础学习(二)判断 .循环.定义函数.继承.调用 python--基础学习(三)字符串单引号.双 ...

  8. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  9. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

随机推荐

  1. MySQL数据库几种常用的索引类型使用介绍

    一.简介 MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 二.语句 1 2 CREATE TABLE table_name[col_nam ...

  2. YII2.0安装教程,数据库配置前后台

    1.首先下载yii-advanced-app-2.0.6.tgz 我本地服务用的是Apache 2.解压到E:\wamp\www\yii2目录下面将目录advanced下所有文件剪切到 E:\wamp ...

  3. 第十章:RDB持久化

    RDB 保存命令 save 命令,阻塞 Redis 服务器进程,直到保存动作完成: bgsave 命令,派生出一个子进程来完成保存动作: 载入命令 Redis 没有载入 RDB 文件的命令,载入动作在 ...

  4. 算法岗面试题:模型的bias和variance是什么?用随机森林举例

    校招在即,准备准备一些面试可能会用到的东西吧.希望这次面试不会被挂. 基本概念 说到机器学习模型的误差,主要就是bias和variance. Bias:如果一个模型的训练错误大,然后验证错误和训练错误 ...

  5. 关于数据库客户端navicat创建新连接失败的问题

    如图是navicat创建新连接的截图: 我就有一个疑问了,主机填localhost或者127.0.0.1都是本机,自然是可以连接成功的,那如果填本机的IP地址会怎样呢? 如下图,出现了报错: 说我的访 ...

  6. No configuration file found and no output filename configured via Cli option.报错

    webpack手动配置webpack.config.js文件,打包时出现的报错,可以试试这种解决方案 报错如下: No configuration file found and no output f ...

  7. 最新的一波Vue实战技巧,不用则已,一用惊人

    在Vue中,不同的选项有不同的合并策略,比如 data,props,methods是同名属性覆盖合并,其他直接合并,而生命周期钩子函数则是将同名的函数放到一个数组中,在调用的时候依次调用 在Vue中, ...

  8. 如何在项目开发中应用好“Deadline 是第一生产力”?

    我想也许你早就听说过"Deadline是第一生产力"这句话,哪怕以前没听说过,我相信看完本文后,再也不会忘记这句话,甚至时不时还要感慨一句:"Deadline是第一生产力 ...

  9. SpringBoot2.x入门:快速创建一个SpringBoot应用

    前提 这篇文章是<SpringBoot2.x入门>专辑的第2篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8. 常规的套路会建议使用Spring官方提 ...

  10. js省市二级联动实例

    //动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset=" ...