python核心编程第7章课后题

来源:互联网 发布:韩剧和真实的韩国知乎 编辑:程序博客网 时间:2024/06/06 09:59

8.
代码:

# -*- coding: utf-8 -*-def showMenu(dict_a):    tips = '''    please choose the choice:    a: input an emploees    b: sort with name    c: sort with no.    d: exit    '''    while True:        choose = raw_input(tips)        if choose in "abcd":            if choose == 'a':                tempStr = '''    enter emploees name and num, the format is:    {"name":num}    for example:    {"xiaoMing":1, "liLi":23, "wangGang":9}                '''                dict_new = eval(raw_input(tempStr))                dict_a.update(dict_new)            elif choose == 'b':                print sorted(dict_a.items())            elif choose == 'c':                # 既然要按照value来排序,为何不直接创建一个将value和key对调的元祖                temp = zip(dict_a.values(), dict_a.keys())                print sorted(temp)            elif choose == 'd':                print '--over--'                break        else:            print "input error, please try again"if __name__ == '__main__':    dict_a = {}    showMenu(dict_a)

9

# -*- coding: utf-8 -*-def tr(srcstr, dststr, string, quFen):    '''    :param srcstr: 源字符串,即翻译的字典的key    :param dststr: 目标字符串,即翻译的字典的data    :param string: 需要进行操作的字符串    :param quFen: 是否区分大小写翻译的标志,True为区分,False为不区分    :return:  trString, 翻译后的字符串    '''    trString = len(string)*[0]    lenSrc = len(srcstr)    lenDst = len(dststr)    # 判断长度    if(lenSrc == lenDst):        dictTr = dict(zip(srcstr, dststr))    elif (lenSrc > lenDst):        dictTr = dict(zip(srcstr[:lenDst], dststr))    else:        dictTr = dict(zip(srcstr, dststr[:lenSrc]))    # 判断是否区分大小写    if quFen:        for index, data in enumerate(string):            if data in dictTr:                trString[index] = dictTr[data]            else:                trString[index] = string[index]    else:        stringLow = string.lower()        for index, data in enumerate(stringLow):            if data in dictTr:                trString[index] = dictTr[data]            else:                trString[index] = stringLow[index]    return ''.join(trString)if __name__ == '__main__':    print tr('abcDADF', '123', 'abcYangABC', True)    # print tr('abc', '123', 'abcYangABC', False)
0 0
原创粉丝点击