溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng)

發(fā)布時(shí)間:2021-04-12 13:37:52 來源:億速云 閱讀:263 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體內(nèi)容如下

功能需求

  • 用戶輸入數(shù)字選擇要進(jìn)行的操作

  • 添加名片

  • 刪除名片

  • 修改名片

  • 查詢名片

  • 顯示所有名片

  • 退出系統(tǒng)

缺點(diǎn)(待改進(jìn))

數(shù)據(jù)未保存到后臺(tái),添加的數(shù)據(jù)僅限當(dāng)次運(yùn)行程序時(shí)使用

話不多說,上代碼!

主程序

# coding=utf8
from method import *
# 導(dǎo)入定時(shí)器是為了方便觀察每次操作的結(jié)果
from time import sleep

cards = []
# 讓這個(gè)程序無限循環(huán),直到用戶想要其終止
while True:
    sleep(1)
    menu()
    ope_num = input('請(qǐng)輸入要進(jìn)行的操作(1-6): ')
    if ope_num == '1':
        addinfo(cards)
    elif ope_num == '2':
        delinfo(cards)
    elif ope_num == '3':
        updateinfo(cards)
    elif ope_num == '4':
        searchinfo(cards)
    elif ope_num == '5':
        showinfo(cards)
    elif ope_num == '6':
        sure = input('你確定要退出系統(tǒng)嗎(YES/NO)')
        if sure.upper() == 'YES':
            break
    else:
        print('輸入錯(cuò)誤,請(qǐng)重新輸入?。。。〝?shù)字1-6)')

函數(shù)文件

# 定義一個(gè)menu方法
def menu():
    print('------------------\n'
          '\t名片管理系統(tǒng)\n'
          '1:添加名片\n'
          '2:刪除名片\n'
          '3:修改名片\n'
          '4:查詢名片\n'
          '5:顯示所有名片\n'
          '6:退出系統(tǒng)\n'
          '------------------')

# 添加名片
def addinfo(lists):
    # 定義一個(gè)字典,存放這個(gè)名片的信息
    info = {}

    # 獲取姓名
    def getname():
        name = input('請(qǐng)輸入姓名: ')

        # 判斷姓名是否由 數(shù)字、字母、數(shù)字和字母 組成,即:不能包含標(biāo)點(diǎn)符號(hào)和空格,不能為空
        # 如果不符合要求,提示檢查,并重新輸入
        # 一直提示用戶輸入,直到符合要求
        while name.isalnum() != True:
            print('請(qǐng)檢查輸入?。?! (不能包含標(biāo)點(diǎn)符號(hào)和空格,不能為空) ')
            name = input('請(qǐng)輸入姓名: ')

        return name

    # 獲取手機(jī)號(hào)
    def getphone():
        phone = input('請(qǐng)輸入手機(jī)號(hào): ')

        # 判斷手機(jī)號(hào)是否由 11位數(shù)字 組成
        # 如果不符合要求,提示檢查,并重新輸入
        while (len(phone) != 11) or (phone.isdigit() != True):
            print('請(qǐng)檢查輸入!??! (由11位純數(shù)字組成,不能為空) ')
            phone = input('請(qǐng)輸入手機(jī)號(hào): ')

        return phone

    # 獲取QQ號(hào)
    def getqq():
        qq = input('請(qǐng)輸入QQ號(hào): ')

        # 判斷QQ號(hào)是否由 5-10位數(shù)字 組成
        # 如果不符合要求,提示檢查,并重新輸入
        while ((len(qq) < 5) or (len(qq) > 10)) or (qq.isdigit() != True):
            print('請(qǐng)檢查輸入?。?! (由5-10位純數(shù)字組成,不能為空) ')
            qq = input('請(qǐng)輸入QQ號(hào): ')

        return qq

    # 如果該名片的序號(hào)為,列表長(zhǎng)度+1
    info['num'] = len(lists) + 1

    # 通過調(diào)用其他函數(shù)獲取對(duì)應(yīng)信息
    info['name'] = getname()
    info['phone'] = getphone()
    info['qq'] = getqq()

    # 將該字典存入名片列表中
    lists.append(info)

    print('添加成功!')
    showinfo(lists)

# 輸出所有名片列表
def showinfo(lists):
    print('序號(hào)\t姓名\t\t手機(jī)號(hào)\t\tQQ號(hào)'.ljust(30))
    for lis in lists:
        for value in lis.values():
            print(value, end='\t')

        print('\n')

# 刪除名片
def delinfo(lists):
    del_name = input('請(qǐng)輸入您需要?jiǎng)h除名片的姓名: ')
    flag = True
    for lis in lists:
        if lis['name'] == del_name:
            lists.remove(lis)
            print('刪除成功!')
            showinfo(lists)
            flag = False
            break

    if flag == True:
        print('名片不存在?。?!')

# 修改名片
def updateinfo(lists):
    upd_name = input('請(qǐng)輸入您需要修改名片的姓名: ')
    flag = True
    for lis in lists:
        if lis['name'] == upd_name:
            lis['name']=input('請(qǐng)輸入新姓名: ')
            lis['phone']=input('請(qǐng)輸入新手機(jī)號(hào): ')
            lis['qq']=input('請(qǐng)輸入新QQ號(hào): ')
            print('修改成功!')
            showinfo(lists)
            flag = False
            break

    if flag == True:
        print('名片不存在?。?!')

# 查詢名片
def searchinfo(lists):
    se_name = input('請(qǐng)輸入您需要查詢的姓名: ')
    flag = True
    for lis in lists:
        if lis['name'] == se_name:
            print('序號(hào)\t姓名\t\t手機(jī)號(hào)\t\tQQ號(hào)'.ljust(30))
            for value in lis.values():
                print(value, end='\t')

            print('\n')
            flag = False
            break

    if flag == True:
        print('名片不存在?。?!')

執(zhí)行結(jié)果

如何使用python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng)

以上是“如何使用python實(shí)現(xiàn)簡(jiǎn)易名片管理系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI