【Python】基于Python的电话簿(Phonebook project)设计(代码详解)

news2024/9/25 13:24:28

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


Python phonebook project design【基于Python的电话簿(Phonebook project)设计(代码详解)】


目录

  • Python phonebook project design【基于Python的电话簿(Phonebook project)设计(代码详解)】
  • 一. 原文要求
  • 二. 中文翻译
  • 三、代码详解
    • 1. 帮助功能
    • 2. 添加联系人
    • 3. 查找联系人
    • 4. 修改联系人
    • 5. 显示联系人
    • 6. 删除联系人
    • 7. 退出
    • 四、部分代码
    • 👇👇👇关注公众号,回复 “Python电话簿” 获取源码👇👇👇


一. 原文要求

The Phonebook project is a classic business case study in miniature. You are given a skeleton program to complete and must use all of the code given to ensure that you shall demonstrate a clear understanding of Unit 3’s lessons by completing it. In this version of a command line interface (text based) program you shall be handling five lists in parallel. The application simulates keeping a digital address book consisting of a person’s name, address, postal code and phone number.

Your Programmer’s Journal is a vital tool of communicating your knowledge and understanding of the programming process. Each day you should carefully mark down what you accomplished and learned while coding the project. Include the date of each entry, resources you used while exploring the solution, and problems you encountered.

Ministry Expectations
o Demonstrate the ability to use different data types
o Use proper code maintenance techniques
o Use a variety of problem-solving strategies
o Design algorithms according to specifications
o Apply a software development life-cycle model (design-code-test-repeat)
o Demonstrate an understanding of the software development process

Steps

  1. Run the code attached to this project: Unit3_PhoneBook.py
  2. Understand the given skeleton program and how it works
  3. Plan your changes to the existing code – set milestones
  4. Generate flow-charts or pseudocode of your changes (add to your journal)
  5. Use step-wise-refinement to test your code at each milestone (comment in your journal)
  6. Update your programmer’s journal at every stage **
  7. Complete the Phonebook project as a complete working project including text file IO.
  8. Ensure that existing code is preserved as much as possible
  9. Comment all internal blocks of code as required (replacing teacher comments where needed)
  10. Submit your project file, the program’s contact.txt file and programmer’s journal.

在这里插入图片描述


二. 中文翻译

电话簿项目是一个微型的经典商业案例研究。你会得到一个需要完成的骨架程序,并且必须使用所有给定的代码,以确保你通过完成它来清晰地展示对第三单元课程内容的理解。在这个基于文本的命令行界面程序版本中,你将同时处理五个列表。该应用模拟了一个包含人的姓名、地址、邮政编码和电话号码的数字地址簿。

你的程序员日志是一个传达你对编程过程知识和理解的重要工具。每天,你应该仔细记录在编码项目过程中完成和学到了什么。包括每个条目的日期、在探索解决方案时使用的资源,以及遇到的问题。

预期
o 展示使用不同数据类型的能力
o 使用正确的代码维护技巧
o 使用多种解决问题的策略
o 根据规格设计算法
o 应用软件开发生命周期模型(设计-代码-测试-重复)
o 展示对软件开发过程的理解

步骤

  1. 运行附加到这个项目的代码:Unit3_PhoneBook.py
  2. 理解给定的骨架程序以及其工作原理
  3. 计划对现有代码的更改 – 设置里程碑
  4. 生成你的更改的流程图或伪代码(添加到你的日志中)
  5. 使用分步细化来在每个里程碑处测试你的代码(在你的日志中添加注释)
  6. 在每个阶段更新你的程序员日志**
  7. 完成电话簿项目作为一个包括文本文件IO的完整工作项目
  8. 尽量保留现有代码
  9. 根据需要注释所有内部代码块(替换教师的注释)
  10. 提交你的项目文件、程序的contact.txt文件和程序员日志。

三、代码详解

1. 帮助功能

获取帮助:如果不清楚怎么使用,可以输入 hHhelp 来获取可用命令的列表。
在这里插入图片描述


2. 添加联系人

添加新联系人:输入 newContact John Doe 1234567890 Address 12345(用空格分隔开各个字段)来添加一个新的联系人。
列出所有联系人:输入 listAll,程序会显示所有联系人的信息。

在这里插入图片描述


3. 查找联系人

查找联系人:输入 findContact John first 来根据名字查找联系人。同样,也可以用 last, phone, postal 来指定不同的查找字段。

在这里插入图片描述


4. 修改联系人

更新联系人信息:输入 updateContact John Doe,程序会提示你输入新的信息以更新该联系人。

在这里插入图片描述

5. 显示联系人

按姓氏首字母列出联系人:输入 listContacts A(其中 A 是姓氏的首字母),程序会列出所有姓氏以 A 开头的联系人。

在这里插入图片描述


6. 删除联系人

删除联系人:输入 deleteContact John Doe(用空格分隔开姓和名)来删除一个联系人。

在这里插入图片描述

7. 退出

在这里插入图片描述


四、部分代码

部分代码如下:

在这里插入图片描述

👇👇👇关注公众号,回复 “Python电话簿” 获取源码👇👇👇

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

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

相关文章

【农业生产模拟】WOFOST模型与PCSE模型实践

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单,数据容易获取,但是作物生长发育非常复杂,中间涉及众多生理生化过程&#…

Yandex SEO和Google SEO有啥区别?5000字说必须要了解的一些事儿

最近筋斗云SEO服务有做一些俄罗斯市场的SEO,而做俄罗斯的SEO相当于就是要做Yandex的SEO。对比Google的SEO优化,其实有比较多的区别,但总体算法、逻辑等等都大致相似。本文从Linus自己的研究和搜集的公开信息,对比一下Google和Yand…

校园安全Ai视频分析预警算法

校园安全Ai视频分析预警算法通过yolov5python深度学习算法网络模型,校园安全Ai视频分析预警算法对学生的行为进行智能监测和预警如识别学生打架斗殴、抽烟、翻墙、倒地以及异常聚集等行为,及时发出预警通知。YOLO的结构非常简单,就是单纯的卷…

Python框架【模板继承 、继承模板实战、类视图 、类视图的好处 、类视图使用场景、基于调度方法的类视图】(四)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…

【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_PATH_OPTIMIZER

文章目录 前言PIECEWISE_JERK_PATH_OPTIMIZER功能简介PIECEWISE_JERK_PATH_OPTIMIZER相关配置PIECEWISE_JERK_PATH_OPTIMIZER总体流程OptimizePathpiecewise_jerk_problem二次规划问题标准形式定义优化变量定义目标函数设计约束OptimizeFormulateProblem计算QP系数矩阵Calculat…

MERN Stack 教程

This tutorial will show you how to build a full-stack MERN application—in this case, an employee database—with the most current tools available. Before you begin, make sure that you are familiar with Node.js and React.js basics and have Node and Create R…

数据结构队列的实现

本章介绍数据结构队列的内容,我们会从队列的定义以及使用和OJ题来了解队列,话不多说,我们来实现吧 队列 1。队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,…

MATLAB图论合集(三)Dijkstra算法计算最短路径

本贴介绍最短路径的计算,实现方式为迪杰斯特拉算法;对于弗洛伊德算法,区别在于计算了所有结点之间的最短路径,考虑到MATLAB计算的便捷性,计算时只需要反复使用迪杰斯特拉即可,暂不介绍弗洛伊德的实现&#…

搜索二叉树的算法解析与实例演示

目录 一.搜索二叉树的特性与实现1.特点2.实现二.搜索二叉树的性能 一.搜索二叉树的特性与实现 1.特点 二叉搜索树是特殊的二叉树,它有着更严格的数据结构特点: (1)非空左子树的所有键值小于其根结点的键值。 (2&…

讯飞AI-SparkDesk

网址:https://m.xfyun.cn/login?callbackaHR0cHM6Ly94aW5naHVvLnhmeXVuLmNuL2NoYXQ/aWQ9MTUzMzc1MjA&website_namesparkdesk

【C++题解】[NOIP2018]龙虎斗

P a r t Part Part 1 1 1 读题 题目描述 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有 n n n个兵营(自左至右编号 1 − n 1-n 1−n),相邻编号的兵营之间相隔 1 1 1厘米,即棋盘…

springcloud初窥门径

一、概述 SprinfCloud组成部分 SpringCloud主流组件

【CSS】网站 网格商品展示 模块制作 ( 清除浮动需求 | 没有设置高度的盒子且内部设置了浮动 | 使用双伪元素清除浮动 )

一、清除浮动需求 ( 没有设置高度的盒子且内部设置了浮动 ) 绘制的如下模块 : 在上面的盒子中 , 没有设置高度 , 只设置了一个 1215px 的宽度 ; 在列表中每个列表项都设置了 浮动 ; /* 网格商品展示 */ .box-bd {/* 处理列表间隙导致意外换行问题一排有 5 个 228x270 的盒子…

Navisworks2020~2023安装包分享(附安装教程)

目录 一、软件介绍 二、下载地址 一、软件介绍 Navisworks是一款专业的建筑、工厂、机械和设备设计软件工具,旨在帮助项目相关方可靠地整合、分享和审阅详细的三维设计模型。它提供了一系列功能强大的工具,使设计师、工程师和建筑师能够更好地协作、沟…

代码随想录算法训练营第四十六天 | 139.单词拆分

代码随想录算法训练营第四十六天 | 139.单词拆分 139.单词拆分 139.单词拆分 题目链接 视频讲解 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 注意:不要求字典中出现的单词全部都使用,并且字典…

【效能平台】django项目中集成httprunner做接口测试补(五)

这里写目录标题 一、登录接口数据驱动测试1、定义登录api:api/login_api_form.yml2、定义login_testcases.yaml3、定义login_testcases.yaml4、debugtalk.py文件5、执行测试用例6、测试报告7、优先级:二、将httprunner集成到测试平台中一、登录接口数据驱动测试 1、定义登录a…

电脑视频编辑软件前十名 电脑视频编辑器怎么剪辑视频

对于大多数创作者而言,视频后期工作基本都是在剪辑软件上进行的。一款适合自己的视频剪辑软件,能够节省出大量的时间和金钱成本,让剪辑师省钱又省心。那么有关电脑视频编辑软件前十名,电脑视频编辑器怎么剪辑视频的相关问题&#…

【Python从入门到进阶】33、使用bs4获取星巴克产品信息

接上篇《32、bs4的基本使用》 上一篇我们介绍了BeautifulSoup的基本概念,以及bs4的基本使用,本篇我们来使用bs4来解析星巴克网站,获取其产品信息。 一、星巴克网站介绍 星巴克官网是星巴克公司的官方网站,用于提供关于星巴克咖啡…

收费文章怎么复制

1.复制这篇文章发现收费 2.电脑登录一个qq,截图找到这个屏幕视图 3.右边这个文字可以复制 4.这个只能识别一段一段复制

网卡重启,导致docker容器暴露端口都无法对外开放

公司内部网络ip冲突,重新分配了某个范围的ip后,修改网络信息(位于/etc/sysconfig/network-scripts目录下对应网卡)后,重启网卡(systemctl restart network);后面导致docker容器暴露的…