Python綜合應用(1)--名片管理系統開發

第一個綜合應用-名片管理系統

  • 1框架搭建
  • 2完善功能

綜合應用,名片管理系統
歡迎界面,不同選項,1.新建名片,2.顯示全部,3 查詢名片(查到之后可以修改名片信息),0 退出系統
在這里插入圖片描述
程序開發流程:

  1. 框架搭建
  2. 分步驟完成功能
  3. 程序文件名運行

1框架搭建

開發一個功能復雜的系統,先搭建一個框架能夠簡單運行,再一步一步完善功能。

1.1 準備文件:一個系統中有多個文件:
1.cards_main.py:程序的入口,循環執行提示代碼,用戶輸入,簡單判斷操作。
2.cards_tools.py:所有功能函數

1.2 提示用戶輸入選項的功能:

acrion_str=input("請選擇希望執行的操作:")
print("您選擇的操作是:【%d】"%acrion_str)if acrion_str in [1,2,3]:pass#不現在編寫代碼用pass占位,能夠保證程序代碼結構正確#在運行的時候pass不會執行任何操作
#0退出系統
elif acrion_str==0:pass
#其他內容輸入錯誤,需要提示用戶
else:print("您輸入的不正確,請重新輸入1")

1.3 無限循環
保證用戶能夠重復選擇操作,用戶選擇0時,使用break退出循環

1.4 if 嵌套
判斷用戶具體操作預留代碼位置

1.5小結
1.字符串判斷 成員運算符或者用or來拼接復雜的邏輯表達式.(不需要對用戶輸入的數據轉換成整數,因為輸入奇怪的符號會報錯)

2.Pass占位符保證結構完整,隨著功能完整后不斷補足代碼

3.無限循環,程序周而復始的不斷執行

4.TODO注釋,提示自己下一步需要做什么。單行注釋在閱讀時容易被忽略,可以用TODO注釋使注釋更加明顯。多個人共同開發,可以在TODO(cyy)后面新增一個名字表示誰要做的事情,開發完成后,直接刪除TODO注釋即可,語法格式:

# TODO 注釋內容

在這里插入圖片描述
在pycharm中查看TODO注釋的方法:
在這里插入圖片描述

1.6 顯示歡迎界面
連續使用多個Print函數輸出多個信息,那么while循環內的代碼就會不斷的增加,一點都不簡潔,不行。
工具文件cards_tools.py,定義提示信息輸出函數,主函數調用信息輸出函數即可。

1.7名片操作函數
準備名片操作函數,修改主文件中pass調用

2完善功能

2.1數據結構確定

程序用來處理數據,變量用來儲存數據。
列表保存字典,該變量應該是一個全局變量。

2.2新增名片功能

pycharm重命名的技巧:避免混淆,name 添加后綴,一下子修改所有變量名技巧(避免一些修改另一些沒有修改)
在這里插入圖片描述
在這里插入圖片描述

2.3 遍歷列表輸出每個名片信息

直接輸出字典體驗感十分不好,希望通過列表的形式輸出:
直接輸出:
在這里插入圖片描述
列表輸出:
在這里插入圖片描述
(老師在長度為0時用一個if語但是并沒有,用else)

2.4查詢名片
查詢到名片后,可以支持:1修改 ,2刪除 ,0返回上級菜單(主菜單)等操作,沒找到提示輸出。

找到名片后,編寫一個名片處理函數,傳入對應的參數,

0不用判斷,默認返回主菜單
2刪除名片用remove()
1修改名片直接修改鍵對應的值就可以。不希望修改的需要再輸入一次,十分不方便,希望不修改的直接回車輸入就行。再編寫一個程序實現這個功能。(Python2.7直接輸入回車會有問題)

2.5新增文檔注釋,刪除todo注釋
整個函數開發完成,并且已經測試通過之后,給開發完成之后的函數添加文檔注釋:函數名-》小燈泡-》插入文檔注釋

2.6shebang符號(#!)
可以使用文件名直接執行

增加shebang符號(#!)python文件的第一行,再加上一個解釋器完整路徑。

如何查看完整路徑:which python3

Chmod +x cards_main.py 增加文件的權限

本文的代碼即相關注釋可以在本人資料中心下載得到:https://download.csdn.net/download/sinat_40624829/11257716

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445267.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445267.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445267.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springboot1——spring相關入門

spring 隨著我們開發,發現了一個問題: A---->B---->C---->D 在A中創建B的對象調用B的資源 在B中創建C的對象調用C的資源 在C中創建D的對象調用…

大數據學習(06)-- 云數據庫

文章目錄目錄1.什么是云數據庫?1.1 云計算和云數據庫的關系1.2 云數據庫的概念1.3 云數據庫的特性1.4 云數據庫應用場景1.5 云數據庫和其他數據的關系2.云數據庫產品有哪些?2.1 云數據庫廠商概述2.2 亞馬遜云數據庫產品2.3 Google云數據庫產品2.4 微軟云…

Python(21)--變量進階

變量的進階使用1變量引用2可變、不可變數據類型3局部變量和全局變量4.Tips本系列博文來自學習《Python基礎視頻教程》筆記整理,視屏教程連接地址:http://yun.itheima.com/course/273.html在博文:https://blog.csdn.net/sinat_40624829/articl…

HTTP 響應代碼全集

HTTP 響應狀態代碼指示特定 http 請求是否已成功完成。響應分為五類:信息響應(100–199),成功響應(200–299),重定向(300–399),客戶端錯誤(400–499)和服務器錯誤 (500–599)。狀態代碼由 section 10 of RFC 2616定義 信息響應 …

機器學習知識總結系列-機器學習中的數學-矩陣(1-3-2)

矩陣 SVD 矩陣的乘法狀態轉移矩陣狀態轉移矩陣特征值和特征向量 對稱陣 正交陣 正定陣數據白化矩陣求導 向量對向量求導 標量對向量求導 標量對矩陣求導一.矩陣1.1 SVD奇異值分解(Singular Value Decomposition),假設A是一個mn階矩陣&#xf…

阿里Java編程規約(注釋)提煉

【強制】類、類屬性、類方法的注釋必須使用 Javadoc 規范,使用/**內容*/格式,不得使用 // xxx 方式。 說明:在 IDE 編輯窗口中,Javadoc 方式會提示相關注釋,生成 Javadoc 可以正確輸出相應注釋;在 IDE 中…

Python面試題-交換兩個數字的三種方法

Python實現兩個數字交換解法1解法2解法3a6 b100 解法1 使用其他變量,最通用的方法 ca ab bc 解法2 不使用其他變量,利算法節省內存空間 aab ba-b aa-b 解法3 python 專有 a,b(b,a) #等號右邊是一個元組 或者可以寫為: a,bb,a print(a,b)

面試中海量數據處理總結

教你如何迅速秒殺掉:99%的海量數據處理面試題 前言 一般而言,標題含有“秒殺”,“99%”,“史上最全/最強”等詞匯的往往都脫不了嘩眾取寵之嫌,但進一步來講,如果讀者讀罷此文,卻無任何收獲&…

redis——舊版復制

Redis 的復制功能分為同步(sync)和命令傳播(command propagate)兩個操作: 同步操作用于將從服務器的數據庫狀態更新至主服務器當前所處的數據庫狀態。命令傳播操作用于在主服務器的數據庫狀態被修改, 導致…

Linux(3)-網-ifconfig,ping,ssh

終端命令網-ping,ssh1. ifconfig -a2. ping3. ssh3.1安裝3.2 連接3.3 配置登入別名防火墻端口號,todo1. ifconfig -a 查看IP地址, 還可以用于配置網口。 ifconfig -a 2. ping ping命令: 檢測到IP地址的連接是否正常。命令開始后由本機發送數據包a&…

redis——相關問題匯總

什么是redis? Redis 本質上是一個 Key-Value 類型的內存數據庫, 整個數據庫加載在內存當中進行操作, 定期通過異步操作把數據庫數據 flush 到硬盤上進行保存。 因為是純內存操作, Redis 的性能非常出色, 每秒可以處理…

一文搞定面試中的二叉樹問題

一文搞定面試中的二叉樹問題 版權所有,轉載請注明出處,謝謝! http://blog.csdn.net/walkinginthewind/article/details/7518888 樹是一種比較重要的數據結構,尤其是二叉樹。二叉樹是一種特殊的樹,在二叉樹中每個節點…

無數踩坑系列(1)--Brightness Controller

Brightness Controller1.嘗試找回系統自帶亮度調節條1.1 配置grub文件,無效1.2 使用命令調節屏幕亮度,無效2.安裝應用程序Brightness Controller2.1許多博文都寫出了如下方案,無效:2.2 github 手動安裝https://github.com/LordAmi…

springboot2——MyBatis入門

原生缺陷: 數據庫dao層操作缺陷: ①jdbc的增刪改查代碼的冗余過大,查詢的時候需要遍歷。 ②Sql語句和數據庫相關參數和代碼的耦合性過高。 解決:使用Mybatis 業務層缺陷: ①業務層和數據…

面試--Linux命令總結

顯示目錄和文件的命令 Ls:用于查看所有文件夾的命令。 Dir:用于顯示指定文件夾和目錄的命令 Tree: 以樹狀圖列出目錄內容 Du:顯示目錄或文件大小 修改目錄,文件權限和屬主及數組命令 Chmod:用于改變指定…

Linux(4)-資源-du,top,free,gnome

Linux終端命令1.磁盤資源1.1 df -hl1.2 du1.3 統計文件數量2.緩存資源2.1 top2.2 free -m3.Gnome3.1系統監視器-gnome-system-monitor3.2 截屏--screenshot查看文件系統資源的一些命令1.磁盤資源 1.1 df -hl 查看分區磁盤使情況 硬盤空間不夠時,跑程序會報錯&…

redis——Java整合

redis官網 微軟寫的windows下的redis 我們下載第一個 額案后基本一路默認就行了 安裝后&#xff0c;服務自動啟動&#xff0c;以后也不用自動啟動。 出現這個表示我們連接上了。 redis命令參考鏈接 Spring整合Redis 引入依賴 - spring-boot-starter-data-redis <depend…

無限踩坑系列(4)-遠程登入服務器

遠程操作服務器1.遠程上傳/下載命令&#xff08;文件夾/文件&#xff09;2.文本編輯vim3.一直保持服務器登入狀態4.虛擬終端screenssh遠程登入服務器&#xff0c;沒有圖形界面&#xff0c;只能在終端中操作文件與文件夾。本文總結了遠程登入服務器過程中用到的一些命令。1.遠程…

程序員不成熟的若干個特征

做我們這個項目也是一樣&#xff0c;很多人來做這個生意&#xff0c;開始沒有什么成績&#xff0c;就想著要放棄&#xff0c;有的人一個月放棄&#xff0c;有的人三個月放棄&#xff0c;有的人半年放棄&#xff0c;有的人一年放 棄&#xff0c;我不明白人們為什么輕易放棄這個趨…

一文理解KMP算法

一文理解KMP算法 作者&#xff1a;July 時間&#xff1a;最初寫于2011年12月&#xff0c;2014年7月21日晚10點 全部刪除重寫成此文&#xff0c;隨后的半個多月不斷反復改進。后收錄于新書《編程之法&#xff1a;面試和算法心得》第4.4節中。 1. 引言 本KMP原文最初寫于2年多前的…