您的位置:首页 > 编程语言 > Python开发

用python把数字转换成字母

2014-04-09 17:25 465 查看
方法一(普通方法):

# -*- coding: utf-8 -*-

#把数字转换成相应的字符,1-->'A' 27-->'AA'
def changeNumToChar(toSmallChar=None, toBigChar=None):
#n = toSmallChar and toSmallChar or toBigChar
#c = toSmallChar and ord('A')-1 or ord('a')-1
init_number = 0
increment = 0
res_char = ''
if not toSmallChar and not toBigChar:
return ''
else:
if toSmallChar:
init_number = toSmallChar
increment = ord('A') - 1
else:
init_number = toBigChar
increment = ord('a') - 1

shang,yu = divmod(init_number, 26)
char = chr(yu + increment)
res_char = char*(shang + 1)
#for i in range(shang + 1):
#   char = chr(yu + increment)
#  res_char += char

return res_char

test_number = input()
result = changeNumToChar(toSmallChar=test_number)
print '%s对应的字符是:%s',test_number,result


方法二(精简后的方法):
def changeNumToChar(self, toSmallChar=None, toBigChar=None):
'''
把数字转换成相应的字符,1-->'A' 27-->'AA'
'''
init_number = 0
increment = 0
res_char = ''
if not toSmallChar and not toBigChar:
return ''
else:
if toSmallChar:
init_number = toSmallChar
increment = ord('a') - 1
else:
init_number = toBigChar
increment = ord('A') - 1

shang,yu = divmod(init_number, 26)
char = chr(yu + increment)
res_char = char * (shang + 1)

return res_char
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: