wordpress 中文插件大全,长沙百度seo代理,口碑营销为什么越来越重要,宁波 seo排名公司Python世界#xff1a;简易地址簿增删查改算法实践 任务背景编码思路代码实现本文小结 任务背景
该任务来自简明Python教程中迈出下一步一章的问题#xff1a; 编写一款你自己的命令行地址簿程序#xff0c; 你可以用它浏览、 添加、 编辑、 删除或搜索你的联系人#xff… Python世界简易地址簿增删查改算法实践 任务背景编码思路代码实现本文小结 任务背景
该任务来自简明Python教程中迈出下一步一章的问题 编写一款你自己的命令行地址簿程序 你可以用它浏览、 添加、 编辑、 删除或搜索你的联系人 例如你的朋友、 家人、 同事 还有他们诸如邮件地址、 电话号码等多种信息。这些详细信息必须被妥善储存以备稍后的检索。 编码思路
从问题中可以提炼以下信息1、地址簿需要支持本地存储读写2、需通过命令行支持增删查改。
具体功能
地址簿初始化地址簿信息读取全文显示地址簿信息查找定向搜索地址簿信息删除指定删除地址簿信息增加指定增加地址簿信息修改指定替换
实现思路
初始化里面添加有默认的3个联系人信息支持读取–read指令显示地址簿全文支持查找–find指令搜索指定字符串输入需为人名支持删除–delete指令删除指定人名信息支持增加–add指令增加指定人名信息支持修改–modify指令替换现有人名相关信息
代码实现
原本想简单设计几组数据从地址簿基础中获取。但这时懒人病突然犯了于是就把上面的任务背景和编码思路一股脑儿丢给AI大模型吧。
不得不说Copilot还是蒸汽5s丝滑给出答案。个人测试下来一句不改完美实现了预期的Demo功能。
代码如下
# -*- coding: utf-8 -*-功能命令行增删查改地址簿
import json# 初始化地址簿添加默认联系人
address_book_init {Alice: {email: aliceexample.com, phone: 123-456-7890},Bob: {email: bobexample.com, phone: 234-567-8901},Charlie: {email: charlieexample.com, phone: 345-678-9012}
}# 保存地址簿到文件
def save_address_book(address_book):with open(address_book.json, w) as file:json.dump(address_book, file)# 从文件读取地址簿
def load_address_book():try:with open(address_book.json, r) as file:return json.load(file)except FileNotFoundError:return address_book_init# 显示地址簿全文
def read_address_book(address_book):for name, info in address_book.items():print(fName: {name}, Email: {info[email]}, Phone: {info[phone]})# 查找联系人
def find_contact(address_book, name):if name in address_book:info address_book[name]print(fName: {name}, Email: {info[email]}, Phone: {info[phone]})else:print(fContact {name} not found.)# 删除联系人
def delete_contact(address_book, name):if name in address_book:del address_book[name]save_address_book(address_book)print(fContact {name} deleted.)else:print(fContact {name} not found.)# 增加联系人
def add_contact(address_book, name, email, phone):address_book[name] {email: email, phone: phone}save_address_book(address_book)print(fContact {name} added.)# 修改联系人
def modify_contact(address_book, name, email, phone):if name in address_book:address_book[name] {email: email, phone: phone}save_address_book(address_book)print(fContact {name} modified.)else:print(fContact {name} not found.)# 主函数
def main():address_book load_address_book()while True:command input(Enter command (--read, --find, --delete, --add, --modify, --exit): )if command --read:read_address_book(address_book)elif command --find:name input(Enter name to find: )find_contact(address_book, name)elif command --delete:name input(Enter name to delete: )delete_contact(address_book, name)elif command --add:name input(Enter name to add: )email input(Enter email: )phone input(Enter phone: )add_contact(address_book, name, email, phone)elif command --modify:name input(Enter name to modify: )email input(Enter new email: )phone input(Enter new phone: )modify_contact(address_book, name, email, phone)elif command --exit:save_address_book(address_book)breakelse:print(Invalid command.)if __name__ __main__:main()
本文小结
这题没啥好总结的了程序员要多练习逻辑和需求分析思维然后结构化喂给AI秒出答案。
所以广大码农兄弟在开发中务必注意这种类型的活儿能让机器干就让机器干去赶紧解放自己聚焦到更有挑战的任务上去。