【Python】基于Python的电话簿(Phonebook project)设计【独一无二】

news2024/11/16 19:33:32

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈: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/935204.html

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

相关文章

使用Rust开发命令行工具

生成二进制文件,将其扔到环境变量的path下即可~ 用rust打造实时天气命令行工具[1] 找到合适的API 使用该api[2] 如请求 api.openweathermap.org/data/2.5/weather?qBeijing&appidyour_key: { "coord": { "lon": 116.3972, "lat&quo…

变天了,国产技术突破让黑黄金变成白菜价,芯片技术变革时代来了

由于众所周知的原因,美国企图利用它掌握的硅基芯片技术体系,阻止中国发展先进芯片,不过中国科技界在一项重要芯片材料方面已取得重大突破,还让这种芯片材料变成白菜价,将改变硅基芯片技术主导的时代。 这种芯片材料就是…

小研究 - JVM 的类装载机制

本文通过对一个类装载实例的分析,阐明了 Java虚拟机的类装载的代理机制和由此定义的命名空间,指出了类装载机制在容器/组件/抽象框架结构中的作用。 目录 1 引言 2 实例 3 分析 3.1 类装载的代理机制 3.2 Java的命名空间 3.3 解决问题 4 应…

全栈之前端 | 1.CSS3必备基础知识学习

关注回复【学习交流群】加入【安全开发运维】答疑交流群 请朋友们【多多点击文中的广告】,支持作者更新更多文章。 目录: 0x00 前言简述 描述: 前面跟随着WeiyiGeeker作者【全栈工程师修炼指南】公众号一起学习了前端基础的知识以及HTML标签、属性、事件、字符集系列…

寻找注册配置中心最佳评测官,赢取丰厚奖品 | 测评开启,开发者请速速集结

评测前请点击文末链接,领取 MSE-Nacos 免费试用,再启动评测。 注册配置中心 MSE-Nacos (以下简称 MSE-Nacos),即 Nacos 的企业版,开箱即用的 Nacos 云服务,对 Nacos 内核进行企业级稳定性加固,故障自动检测…

统计学补充概念-13-逻辑回归

概念 逻辑回归(Logistic Regression)实际上是一种用于解决分类问题的统计学习方法,尽管其名称中带有"回归"一词,但它主要用于处理分类任务。逻辑回归用于预测一个事件发生的概率,并将其映射到一个特定的输出…

js的this指向问题

代码一: 这段代码定义了run函数、obj对象,然后我们把run函数作为obj的方法。 function run(){console.log(this);}let obj{a:1,b:2};obj.runrun;obj.run(); 那么我们调用obj的run方法,那么这个方法打印的this指向obj。 分析:即…

第十三课 宾语从句

文章目录 前言一、宾语从句1、主语及物动词宾语从句2、主语双宾动词间接宾语直接宾语3、主语特定及物动词宾语从句(作宾语)宾补4、主语be某些形容词宾语从句5、动词不定式后面的宾语从句6、动名词后面的宾语从句7、介词后面的宾语从句9、间接引语 前言 一…

基于LOF算法的异常值检测

目录 LOF算法简介Sklearn官网LOF算法应用实例1Sklearn官网LOF算法应用实例2基于LOF算法鸢尾花数据集异常值检测读取数据构造数据可视化,画出可疑异常点LOF算法 LOF算法简介 LOF异常检测算法是一种基于密度的异常检测算法,基于密度的异常检测算法主要思想…

Centos7安装ZK-UI管理界面安装|Maven|Git|

一: JDK1.8安装 参考: Centos7卸载|安装JDK1.8|Xshell7批量控制多个终端 二:Maven安装 2.1:下载maven安装包 maven 下载地址:https://mirror.bit.edu.cn/apache/maven/maven-3/ [rootwww ~]# mkdir -p /usr/local/maven [rootwww ~]# …

【C/C++】多态的概念 | 虚函数 | 虚函数指针

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Linux操作系统--vi/vim编辑器

1.Vi/Vim简介 Vi 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。 VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。这里简单的理解为如果你需要使用指令取操作Linux系…

【LeetCode-中等题】142. 环形链表 II

文章目录 题目方法一&#xff1a;哈希表set去重方法二&#xff1a;快慢指针 题目 方法一&#xff1a;哈希表set去重 思路&#xff1a;我们遍历链表中的每个节点&#xff0c;并将它记录下来&#xff1b;一旦遇到了此前遍历过的节点&#xff0c;就可以判定链表中存在环。借助哈希…

nonlocal关键字声明

nonlocal关键字声明 作用 使得内层函数可以使用/修改外层函数的变量 值得注意的是&#xff0c;在未使用nonlocal声明时 对于外层函数中的可变对象&#xff0c;内层函数即可访问&#xff0c;也可以修改 def outer():x, y [1], [2]def inner(z):x.append(1)print(x)print(z)r…

英特尔oneAPI人工智能黑客松 - 坚果识别实战

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

Ubuntu断电重启后黑屏左上角光标闪烁,分辨率低解决办法,ubuntu系统display只有4:3 怎么办?太卡

这个问题主要是显卡驱动问题&#xff0c;按照步骤更新显卡驱动 1&#xff0c;选择metapackage 并且选择proprietary版本&#xff0c;选择版本号选择最新的版本。 2&#xff0c;具体步骤参考 前言 笔者在安装显卡驱动时并未遇到问题&#xff0c;主要是后续屏幕亮度无法调节&…

qt在线包下载安装出错 无法检索远程树

我的问题好像是在安装Qt5.15.2出现的。 我的情况是由于网络问题问题&#xff0c;设置开启了本机的代理之后&#xff0c;就可以正常下载了。

STM32F103 USB OTA升级APP (二)

接上一篇STM32F103 USB OTA升级BootLoader (一)&#xff1a;跳转链接 修改程序启动地址和Flash大小 修改main.c代码 #include "main.h" #include "usart.h" #include "usb_device.h" #include "gpio.h" #include "Update.h&quo…

空时自适应处理用于机载雷达——空时处理基础知识(Matla代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

基于STM32CUBEMX驱动TMOS模块STHS34PF80(6)----获取状态数据

基于STM32CUBEMX驱动TMOS模块STHS34PF80----6.获取状态数据 概述视频教学样品申请参考Demo参考程序获取数据获取数据标志位使用数据准备就绪信号嵌入式智能数字算法的输出数据主程序 概述 STHS34PF80传感器项目种修改 Arduino 脚本&#xff0c;重新移植到STM32的MCU中。 该项目…