当前位置: 首页 > news >正文

python-单词本|通讯录

编写程序,生词本。

result1

def sayHello():print("=" * 20 + '\n' + '欢迎使用生词本\n'+ '1.查看生词本\n'+ '2.背单词\n'+ '3.添加新单词\n'+ '4.删除单词\n'+ '5.清空生词本\n'+ '6.退出生词本\n'+ '=' * 20 + '\n')def addW(data):word = input("请输入新单词:")trans = input("请输入单词翻译:")data[word] = transprint("单词添加成功")print(f"{word}:{data[word]}")def showW(data):if len(data) == 0:print("恭喜你,没有生单词!\n")else:for i in data:print(f"{i}:{data[i]}")def bei(data):if (len(data.keys()) != 0):for i, v in data.items():print(i)v2 = input("请输入单词翻译(q退出):")if (v2 == v):print("正确!")else:if (v2 == "q"):print("退出成功")else:print(f'遗憾!正确答案是:{v}\n')print("背完了!再来一遍吧")else:print("没有单词")def isNoneW(data):if len(data.keys()) == 0:return Truereturn Falsedef delW(data):if isNoneW(data):print("没有单词哦")else:word = input("请输入要删除的单词")if (word in data.keys()):data.pop(word)print("删除成功")else:print("没有这个单词哦")def defAll(data):data.clear()print('清空成功')if __name__ == "__main__":sayHello()data = {}num = int(input("请输入功能编号:\n"))while (num != 6):if (num == 1):showW(data)elif (num == 2):bei(data)elif (num == 3):addW(data)elif (num == 4):delW(data)elif (num == 5):defAll(data)else:breaknum = int(input("请输入功能编号:\n"))

2.模拟实现手机通讯录

result2

def sayHello():print("="*20+'\n'+'欢迎使用通讯录\n'+'1.添加联系人\n'+'2.查看通讯录\n'+'3.删除联系人\n'+'4.修改联系人\n'+'5.查找联系人\n'+'6.退出\n'+'='*20+'\n')
def add(data):name=input("请输入联系人的姓名:")phone = input("请输入联系人的手机号:")mail = input("请输入联系人的邮箱:")address = input("请输入联系人的地址:")data[name]={'phone':phone,'mail':mail,'address':address}print(f"保存成功:{name}:{data[name]}")
def show(data,*name):if(len(name)!=0):print(f"查找结果为:{name}:{data[name[0]]}")else:if(len(data.keys())==0):print("没有联系人")else:print(f"所有联系人:\n")for i in data.keys():print(f"{i}\t{data[i]}")print("="*20)
def delD(data):name=input("请输入删除人姓名:")if name in data.keys():data.pop(name)print("删除成功")else:print("删除失败,用户不存在")
def change(data):if(len(data.keys())!=0):name = input('请输入修改人姓名:')if(name in data.keys()):inType=input("请输入要修改的选项:【name,phone,mail,address】")if(inType=='name'):newname=input("请输入要修改后的姓名:")if(newname in data.keys()):print("该用户名存在了,修改失败")else:temp=data[name]data.pop(name)data[newname]=tempprint('修改成功')elif inType in ['name','phone','mail','address']:new=input("请输入要修改的值")data[name][inType]=newelse:print("该人不存在,请重新输入")name = input('请输入修改人姓名:')change(name)else:print("现在还没有联系人")
if __name__=="__main__":sayHello()data = {}num=int(input("请输入功能序号:\n"))while(num!=6):if(num==1):add(data)elif(num==2):show(data)elif(num==3):delD(data)elif(num==4):change(data)elif(num==5):name=input("请输入要查找的人:")show(data,name)else:num=6num=int(input("请输入功能序号:"))

相关文章:

  • C语言面试之旅:掌握基础,探索深度(面试实战之ARM架构一)
  • Android : ViewModel+LiveData observe观察数据 改变内容简单应用
  • Raspberry Pi 2, 2 of n - Pi 作为 IoT 消息代理
  • PostgreSQL 连接更新操作
  • UE4/UE5 材质实现带框圆环
  • 快速搞懂蔚来的换电模式 是新能源车的未来吗
  • Vue2虚拟列表,umy-ui封装
  • 计算机网络之IP篇
  • 生产实践:Redis与Mysql的数据强一致性方案
  • springboot 整合 Spring Security 上篇
  • Dockerfile脚本编写流程及示例
  • 零信任组件和实施
  • RK3288升级WebView版本,替换webview app
  • ODN光纤链路全程衰减如何计算
  • 《python每天一小段》-- (10)爬取小说:斗罗大陆
  • python3.6+scrapy+mysql 爬虫实战
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【知识碎片】第三方登录弹窗效果
  • Android交互
  • CentOS从零开始部署Nodejs项目
  • CSS实用技巧
  • ECMAScript入门(七)--Module语法
  • Python学习之路13-记分
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • windows下mongoDB的环境配置
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从零开始的无人驾驶 1
  • 对象引论
  • 复杂数据处理
  • 模型微调
  • 学习使用ExpressJS 4.0中的新Router
  • 主流的CSS水平和垂直居中技术大全
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # Maven错误Error executing Maven
  • #微信小程序(布局、渲染层基础知识)
  • #微信小程序:微信小程序常见的配置传旨
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (一)UDP基本编程步骤
  • (转)德国人的记事本
  • (转)平衡树
  • *p++,*(p++),*++p,(*p)++区别?
  • .equals()到底是什么意思?
  • .Net Core 中间件验签
  • .NET Core引入性能分析引导优化
  • .NET导入Excel数据
  • .net的socket示例
  • .Net多线程总结
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [30期] 我的学习方法
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法