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("请输入功能序号:"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/197652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ai学习之快捷键介绍

ai2021学习之快捷键介绍 F 全屏Ctr Y ,可以在去色和全色中切换。Shift O 画板工具CtrlALTY 将矢量图转为位图。Ctrl R 可以显示标尺, CTRL冒号(:;) 隐藏参考线智能参考线CTRLshirtz 撤回撤回的撤回 Ai是一个…

python flask Jinja2模板学习

分类很好的一篇文章 Jinja2模板语法 Jinja2里常见的三种定界符: (1) 语句 {% ... %}(2) 表达式 {{ ... }}(3) 注释 {# ... #} {%set adazhaung%} 语句设置变量{{a}} 表达式{% if 2>1 %}控制语句以{%endif%}结尾 Jinja2支持使用“.”获取变量的属…

Python小案例:99乘法表打印

99乘法表的打印 分析: 1、需要利用两次循环进行控制循环次数 2、通过print参数进行控制打印样式 代码部分 # 外循环实现层级 for i in range(1,10):# 内循环控制计算for j in range(1,i1):# 利用print函数结尾end参数控制打印print(f"{j}*{i}{j*i}",e…

FPGA时序分析与时序约束(一)

一、为什么要进行时序分析和时序约束 PCB通过导线将具有相关电气特性的信号相连接,这些电气信号在PCB上进行走线传输时会产生一定的传播延时。 而FPGA内部也有着非常丰富的可配置的布线资源,能够让位于不同位置的逻辑资源块、时钟处理单元、BLOCK RAM、D…

【未解决】huggingface模型文件下载地址为什么会变?

问题描述 上次我们已经分析了huggingface加载模型时候的文件目录应该是怎么样的?(感兴趣的可以主页搜索“【经验分享】huggingface模型加载过程下载到cache文件目录具体是怎么组织的?以及都会有什么文件目录,每个文件目录是什么&a…

翻译: 生成式人工智能的工作原理How Generative AI works

ChatGPT 和 Bard 等系统生成文本的能力几乎像魔法一样。它们确实代表了 AI 技术的一大步进。但是文本生成到底是如何工作的呢?在这个视频中,我们将看看生成式 AI 技术的底层原理,这将帮助你理解你可以如何使用它,以及何时可能不想…

【开源】基于JAVA的考研专业课程管理系统

项目编号: S 035 ,文末获取源码。 \color{red}{项目编号:S035,文末获取源码。} 项目编号:S035,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…

免费的SEO外链发布工具,提升排名的利器

互联网已经成为信息传播和商业发展的重要平台。而对于拥有网站的个人、企业来说,如何让自己的网站在搜索引擎中脱颖而出?SEO(Search Engine Optimization)作为提高网站在搜索引擎中排名的关键手段. 什么是SEO外链? S…

【STM32入门】3.OLED屏幕

1.OLED引脚 OLED屏幕的接线按图所示,本例中用的是4管脚OLED屏幕 2.驱动程序 配套的驱动程序是“OLED.c",主要由以下函数构成:1、初始化;2、清屏;3、显示字符;4、显示字符串;5、显示数字…

使用激光雷达(LiDAR)和相机进行3D物体跟踪

使用相机和激光雷达进行时间到碰撞(TTC)计算 在我的先前文章中,我介绍了通过检测关键点和匹配描述符进行2D特征跟踪的主题。在本文中,我将利用这些文章中的概念,以及更多的内容,开发一个软件流水线&#xf…

STM32串口通信初探:使用HAL库实现基本功能

在本文中,我们将探索如何使用STM32的HAL库来实现串口通信的基本功能。串口通信是一种常见的外设通信方式,用于在微控制器和其他外部设备之间进行数据传输。在STM32系列微控制器中,HAL库提供了简单且灵活的方法来实现串口通信。我们将重点讨论…

深入理解强化学习——马尔可夫决策过程:蒙特卡洛方法-[代码实现]

分类目录:《深入理解强化学习》总目录 在文章《深入理解强化学习——马尔可夫决策过程:蒙特卡洛方法-[基础知识]》中我们介绍了利用蒙特卡洛方法计算马尔可夫决策过程价值的方法,本文将用代码定义一个采样函数。采样函数需要遵守状态转移矩阵…

使用栈解决括号匹配问题(详解)

项目结构 项目头文件的代码或截图 头文件代码 #ifndef LINKSTACK_H #define LINKSTACK_H #include <stdio.h> #include <stdlib.h> // 链式栈的节点 typedef struct LINKNODE {struct LINKNODE* next; }LinkNode; // 链式栈 typedef struct LINKSTACK {LinkNode h…

【Java 基础】19 多线程基础

文章目录 进程和线程进程&#xff08;Process&#xff09;线程&#xff08;Thread&#xff09; 线程的创建1&#xff09;继承 Thread 类2&#xff09;实现 Runnable 接口3&#xff09;使用 Lambda 表达式4&#xff09;总结 线程的状态状态的分类状态间转换 多线程是一种 同时执…

6、原型模式(Prototype Pattern,不常用)

原型模式指通过调用原型实例的Clone方法或其他手段来创建对象。 原型模式属于创建型设计模式&#xff0c;它以当前对象为原型&#xff08;蓝本&#xff09;来创建另一个新的对象&#xff0c;而无须知道创建的细节。原型模式在Java中通常使用Clone技术实现&#xff0c;在JavaSc…

SpringBoot系列之集成Jedis教程

SpringBoot系列之集成Jedis教程&#xff0c;Jedis是老牌的redis客户端框架&#xff0c;提供了比较齐全的redis使用命令&#xff0c;是一款开源的Java 客户端框架&#xff0c;本文使用Jedis3.1.0加上Springboot2.0&#xff0c;配合spring-boot-starter-data-redis使用&#xff0…

基恩士软件的基本操作(六,KV脚本的使用)

目录 什么是KV脚本&#xff1f; KV脚本有什么用&#xff1f; 怎么使用KV脚本&#xff08;脚本不能与梯形图并联使用&#xff09;&#xff1f; 插入框脚本&#xff08;CtrlB&#xff09; 插入域脚本&#xff08;CtrlR&#xff09; 区别 脚本语句&#xff08;.T是字符串类…

【C进阶】C程序是怎么运作的呢?-- 程序环境和预处理(上)

前言&#xff1a; 由于c语言的程序编译链接的这块知识点不清楚&#xff0c;回来复习一遍&#xff0c;以便于好理解c知识&#xff0c;我会尽快更新下一篇文章。 目录 1.程序的翻译环境和执行环境 2.翻译环境&#xff08;编译链接&#xff09; 编译&#xff08;编译器&#xf…

算符优先语法分析程序设计与实现

制作一个简单的C语言词法分析程序_用c语言编写词法分析程序-CSDN博客文章浏览阅读378次。C语言的程序中&#xff0c;有很单词多符号和保留字。一些单词符号还有对应的左线性文法。所以我们需要先做出一个单词字符表&#xff0c;给出对应的识别码&#xff0c;然后跟据对应的表格…

电子学会C/C++编程等级考试2022年09月(四级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:最长上升子序列 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … &l…