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)