初學python案例 字典

案例描述:html

    員工信息表存儲在一個文件中,將信息表存儲成字典,而後對字典進行模糊查詢,查詢到的數據進行高亮顯示。python


例如輸入  鄒元武 ,輸出匹配到的信息,並將其高亮顯示
ide

wKiom1Yi7MeTVmVTAABcBPuV8qM588.jpg




員工信息表:函數

001 黎偉曄 420822195711199638 男 15201100451 銷售部
002 冉陽雲 15220219600224649X 男 15201100294 營銷部
003 戎星文 341622195805212151 男 18810670117 技術部
004 甘浩博 140121195102222474 男 18810670215 銷售部
005 麻華採 441303197609100352 男 18810670725 銷售部
006 鄒元武 63260019690928499X 男 18810680630 營銷部
007 艾永言 330402196603111251 男 18810670205 人事部
008 濮弘新 513323196105270594 男 18810670921 人事部
009 伍奇希 421221195210091399 男 18810670012 技術部
010 容星暉 530181195810260390 男 18810670831 銷售部
011 鬱弘義 321081197709170759 男 18810670621 銷售部
012 薛德輝 520425196105294710 男 13811552410 人事部
013 黎浦澤 371311195908161895 男 13811552475 營銷部
014 冉子明 42060619751006791X 男 13811131403 財務部
015 陽苑博 530422196503303232 男 13811131436 銷售部
016 閻凱復 211324195506015411 男 15801261316 技術部
017 婁英範 511822195703255452 男 15801352037 銷售部
018 沃子晉 61102319790912877X 男 15801352337 技術部
019 石愷樂 110114195204183630 男 15801351327 技術部
020 諸高傑 140925196409181113 男 15801351821 人事部
021 衡學文 320922196702024496 男 15801350172 技術部
022 賴星河 320503197401017034 男 15801350631 財務部
023 惠  震 370883198612147252 男 15801261256 銷售部
024 顧  含 370883199206185813 男 15801350061 銷售部
025 劉  志 370883198810201731 男 15801260621 營銷部
026 李  賓 370902197010231230 男 15801260776 技術部
027 劉  傑 37030219850503031X 男 15801259625 人事部
028 魏  偉 370883198502284416 男 15801260367 技術部
029 劉  浩 371329199001291538 男 15801258397 技術部
030 張志勝 370825198209105136 男 15801258907 財務部
031 徐福朝 370825196902276918 男 15801256982 人事部
032 戎婉儀 32010119801024650X 女 15801257720 人事部
033 靳智純 361022195601211625 女 15801252537 營銷部
034 胡浩嵐 650108195909078249 女 15801256657 銷售部
035 蒼新梅 450126196204219443 女 15801251056 技術部
036 嚴芳澤 310230197103310487 女 15801251596 人事部
037 靳和玉 130121197108088744 女 15801250787 人事部
038 易凝雪 530124197109237880 女 13601387214 人事部
039 昝宛白 371424197008263323 女 13701123426 技術部
040 宿晴雪 130227195807253141 女 13810922382 人事部
041 宣娜蘭 13028319650214664X 女 13810922362 人事部
042 馮傲雪 350428197704167088 女 13811709872 技術部
043 歐和悌 330421196908257787 女 13811677875 銷售部
044 夔綺玉 445302196309216065 女 13811707273 營銷部
045 劉詩蘭 430501195606042341 女 13811709581 技術部
046 蒯芳茵 370601195404094505 女 13811659813 營銷部
047 公清妙 542129195112017922 女 13811677582 營銷部
048 花舒方 440115197607167047 女 13811677593 技術部


python 代碼:ui

import sys

tables = {}
print '員工信息表'
f = open('dict.txt')
for i in f.readlines():         # 將其存入字典
    value = i.split()
    tables[value[0]] = value[1:]

for k, v in tables.items():    # 將字典內容輸出
    a = k + ' '
    for i in v:
        a = a + i + ' '
    print a

print
f.close()

while True:
    value = raw_input('請輸入須要搜索的內容 > ')
    if len(value) != 0:
        x = 0   # 計數器
        for k, v in tables.items():     # 這裏須要將字典轉換爲字符串,由於只有字符串纔可以使用 find()函數
            a = k + ' '
            for i in v:
                a = a + i + ' '
            if a.find(value) != -1:
                index = a.find(value)
                content = a[:index] + '\033[1;31;40m%s\033[0m' % value + a[index + len(value):]
                print content
                x += 1
        print "\n已爲你找到%s條" %x
    else:
        print '輸入字符不能爲空,從新輸入請回車,退出請輸入quit'
        value = raw_input('> ')
        if len(value) == 0:
            continue
        else:
            sys.exit()
相關文章
相關標籤/搜索