python-单词本|通讯录

news2025/2/26 0:36:30

编写程序,生词本。

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] = trans
    print("单词添加成功")
    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 True
    return False


def 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:
            break
        num = 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]=temp
                    print('修改成功')
            elif inType in ['name','phone','mail','address']:
                new=input("请输入要修改的值")
                data[name][inType]=new
        else:
            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=6
        num=int(input("请输入功能序号:"))

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

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

相关文章

成为Java开发高手:掌握Spring框架的关键技能-DI

DI相关内容 1.1 setter注入1.1.2 注入引用数据类型1.1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.2 构造器注入1.2.2 构造器注入引用数据类型步骤1:删除setter方法并提供构造方法步骤2:配置文件中进行配置构造方式注入步…

docker搭建xxl-job

使用docker-compose创建并运行xxl-job 查看、下载镜像 docker search xxl-job # 结果,自己指定版本 xuxueli/xxl-job-admin:2.3.1创建文件夹 /usr/local/software/xxl-job/logs编排docker-compose文件 version: 2 networks:wn_docker_net:external: true servic…

阿里云服务器租赁价格表,预算100元到5000元可选配置

阿里云服务器租用费用,阿里云轻量应用服务器2核2G3M带宽轻量服务器一年87元,2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置3M固定带宽99元一年、2核4G配置365元一年、2核8G配置522元一年,阿里云u1服务器2核4G、…

Hadoop学习笔记(HDP)-Part.10 创建集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

如何通过DB操作地理空间数据

从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、PostgreSQL PostgreSQL是一个强大的对象关系数据库管理系统(ORDBMS)。它是在BSD风格的许可下发布的,因此是自…

2023年【危险化学品经营单位安全管理人员】免费试题及危险化学品经营单位安全管理人员复审考试

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员免费试题是安全生产模拟考试一点通生成的,危险化学品经营单位安全管理人员证模拟考试题库是根据危险化学品经营单位安全管理人员最新版教材汇编出危险化学品经营单位安全管…

07、pytest指定要运行哪些用例

官方用例 # 目录结构 | |----test_mod.py | |----testing||----test_dir.py# content of test_mod.py import pytestdef func(x):return x 1def test_mod():print("test_mod function was invoked")assert func(3) 5def test_func():print("test_func was in…

Cyanine7-NHS ester荧光染料的化学结构、光谱性质和荧光特性

Cyanine7-NHS ester的结构包括一个靛菁环结构和一个NHS ester活性基团。NHS ester官能团是一种活化基团,用于将染料共价结合到含有游离氨基官能团的生物分子上。 **光谱性质:**Cyanine7-NHS ester的光谱性质通常包括: **激发波长&#xff08…

Hadoop学习笔记(HDP)-Part.16 安装HBase

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

大佬齐聚首钢园,会碰撞出什么火花-百度APOLLO线下沙龙

陈老老老板🧙‍♂️ 👮‍♂️本文专栏:生活(主要讲一下自己生活相关的内容) 🤴本文简述:生活就像海洋,只有意志坚强的人,才能到达彼岸 👳‍♂️上一篇文章: 年度总结-你觉…

PyQt6 QTabWidget选项卡控件

​锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计37条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…

11月,各地政府办公厅、市监局、不动产登记中心、财政厅持续深化电子签应用

本月,各地政府办公厅、市监局、不动产登记中心、财政厅、发改委、住建委、药品监管局等机关部门,持续推动电子印章、电子合同等功能在“政府采购、食品经营备案、不动产登记证书和证明、电子保函、工程项目招投标、实验室优化重组申报等”众多领域深化应…

C++入门第十一篇----多态

前言: 和前面的继承一样,多态也是对类和对象的功能进行扩展,以让其更加好用的一个知识点,接下来,就让我们总结一下多态,这个依托了继承的一个重要知识点。 对多态的理解和多态的概念: 何为多…

rvos 3编译与链接

做下面的两个练习需要: 在vmvb上装一个ubuntu会gcc、vi的基本使用 用vi写一个hello.cgcc -o hello.creadelf -h hello.oreadelf -S hello.oobjdump -S hello.o 用vi编辑一个test.cgcc -c test.creadelf -S test.o.text:代码 .data:初始化的全局变量和静态变量…

【UGUI】sprite精灵的创建与编辑

如何切图(sprite editor) 有时候一张图可能包含了很多张子图,就需要在Unity 临时处理一下,切开,比如动画序列帧图集 虽然我们可以在PS里面逐个切成一样的尺寸导出多张,再放回Unity,但是不需要这…

jupyter notebook中添加内核kernel

step1 检查环境中是否有kernel python -m ipykernel --versionstep2 若没有kernel,则需要安装 kernel conda install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simplestep3 查看已添加的内核 jupyter kernelspec liststep4 添加内核 python -m ipykerne…

融云 CEO 董晗获评甲子光年「2023 中国数字经济创新人物」

(全网都在找的《社交泛娱乐出海作战地图》,点击获取👆) 11 月 30 日-12 月 1 日,甲子光年“甲子引力年终盛典”在北京举办,以“致追风赶月的你”为主题,深刻回顾了 2023 年国内外的科技发展历程…

HarmonyOS开发上手

首先献出开发官网地址 (https://developer.harmonyos.com/cn/develop/) 本文内容 基础入门内容介绍安装DevEco StudioDevEco Studio常用功能介绍项目工程结构详解 1. 基础入门内容介绍 应用开发流程 在正式开始之前还需要了解一些有关的基础概念 方舟…

ArcGIS提取DEM中的山脉范围

已知数据:DEM文件ASTGTM_N00E118E.img 使用软件:ArcMap 要求:对数据进行操作,提取数据文件中的山脉范围 下面开始操作: 1、 打开ArcMap将DEM文件ASTGTM_N00E118E.img添加到数据框。 2、 接下来我们打开spatial ana…

【解决】GPU占用显存,但看不到PID进程

nvidia-smi 常用的查看显卡基本信息的命令 nvidia-smi 发现显存被占用,但是看不到pid进程 可以使用下面的命令,查看详细的pid进程号和占用的显存 nvidia-smi --query-compute-appspid,used_memory --formatcsv 原因 可能是程序崩了,或者没有…