看完题目就会发现这不就是九键输入嘛,下面就是实现方法:
if __name__ == '__main__':
str_n = '234'
li = list(str_n)
li_jiu = []
dic = {'2': ['a', 'b', 'c'], '3': ['d', 'e', 'f'], '4': ['g', 'h', 'i'], '5': ['j', 'k', 'l'],
'6': ['m', 'n', 'o'], '7': ['p', 'q', 'r', 's'], '8': ['t', 'u', 'v'], '9': ['w', 'x', 'y', 'z']}
if len(str_n) == 1:
print(dic[li[0]])
else:
for i in range(len(li)):
for j in range(i+1, len(li)):
# print(j)
for x in dic[li[i]]:
for y in dic[li[j]]:
li_jiu.append('%s%s' % (x, y))
li_jiu.sort()
print(li_jiu)
我用的字典,对于不同的key(1-9),遍历对应key的value值, 而后遍历增加到list中,初学python,如果有更好的方法,欢迎指导交流!