本案例使用了自定義函式以及對字串的常見操作、判斷語句和迴圈語句等知識。
要求必須使用自定義函式,完成對程式的模組化。
名片資訊至少包括:姓名、**、住址。
必須完成的功能:增、刪、改、查、退出。
分析首先呢,我們應該先定義乙個全域性變數,用於儲存所有的名片資訊。
cards = [, ] # 定義乙個的列表用於存放名片資訊,預設裡面有張三和李四的資訊,方便以後除錯用。
完成增加,刪除,修改,查詢等相關操作的函式(cards是可變型別的全域性變數,故在函式中不用加global也可呼叫),注意:如定義變數 a: int = 0, int只是單純的提示開發人員它的型別是int,方便除錯。
def print_menu():
""""完成列印功能選單"""
print("=" * 20)
print(" 名片管理系統")
print(" 程式設計客棧1:新增乙個名片")
print(" 2:刪除乙個名片")
print(" 3:修改乙個名片")
print(" 4:查詢乙個名片")
print(" 5:顯示所有的名片")
print(" 6:退出")
print("=" * 20)
def add_card():
"""完成新增乙個名片的功能"""
new_infor: dict =
cards.append(new_infor)
print("新增成功!")
def delete_card():
del_name = input("請輸入要刪除的名字:")
for person in cards:
if del_name == person["name"]:
cards.remove(person)
print("刪除成功!")
break
else:
print("找不到要刪除的人!")
def update_card():
name: str = input("請輸入要修改的名字(只能通過名字來修改**和住址):")
for person in cards:
if name == person["name"]:
phone = input("請輸入新的的**(直接回車則不修改):")
address = input("請輸入新的的位址(直接回車則不修改):")
if phone:
person["phone"] = phone
if address:
person["address"] = address
print("修改成功")
break
els程式設計客棧e:
print("找不到要修改的人!")
def find_card():
"""用來查詢乙個名片"""
find_name: str = input("請輸入要查詢的名字(支援模糊查詢):")
flag: int = 1
for fnpoxtemp in cards:
# 遍歷名片中的所有名字,判斷要查詢的名字是否存在,不存在則列印查無此人
if temp["name"].find(find_name) != -1:
print("%s\t%s\t%s" % (temp["name"], temp["phone"], temp["address"]))
flag = 0
if flag:
print("查無此人")
def show_all():
print("姓名\t**\t住址")
for temp in cards:
print("%s\t%s\t%s" % (temp["name"], temp["phone"], temp["address"]))
最後完成主函式的功能,並呼叫主函式
def main():
"www.cppcns.com"""完成對整個程式的控制"""
# 列印功能提示
print_menu()
while true:
# 獲取使用者的選擇
num: str = input("請輸入功能序號:")
# 判斷輸入的是否為數字
if not num.isdigit():
print("請輸入數字!")
continue
# 轉換成數字型別
num: int = int(num)
# 增if num == 1:
add_card()
# 刪elif num == 2:
delete_card()
# 改elif num == 3:
update_card()
# 查elif num == 4:
find_card()
elif num == 5:
show_all()
elif num == 6:
break
else:
print("請按號輸入!")
print()
# 呼叫主函式
if __name__ == '__main__':
main()
本文標題: python實現乙個函式版的名片管理系統過程解析
本文位址:
python案例 實現乙個函式版的名片管理系統
本案例使用了自定義函式以及對字串的常見操作 判斷語句和迴圈語句等知識。必須使用自定義函式,完成對程式的模組化。名片資訊至少包括 姓名 住址。必須完成的功能 增 刪 改 查 退出。首先呢,我們應該先定義乙個全域性變數,用於儲存所有的名片資訊。cards 定義乙個的列表用於存放名片資訊,預設裡面有張三和...
乙個ntohs函式的實現
眾所周知ntohs用來將本機位元組序列轉換為網路位元組序列,如何寫乙個高效能的實現呢?先寫乙個能正常工作的 如下 執行後與系統自帶的對比效能,執行時間輸出如下 效能相差很多呀,看來得用彙編寫個改進版本 執行結果如下 效能有所改進,但與系統實現比較依然很慢,並沒有顯著改進效能,看來還得改進,應該是pr...
實現乙個Memcpy函式
需要考慮記憶體重疊的情況 includeusing namespace std void memcpy void dst,const void src,size t len void ret dst if dst src else return ret int main 那麼為什麼還要考慮重寫mem...