#!/usr/bin/env python
#coding=utf8
'''
Excel列命名为A,B,C....Z,AA,AB....AZ,BA,BB,BC...BZ.....ZZ,AAA,AAB,AAC.....AAZ,ABA,ABB,ABC...ABZ....
根据给定的数值,求出excel里列的表示方法
'''
letters = {
	1:	"A",
	2:	"B",
	3:	"C",
	4:	"D",
	5:	"E",
	6:	"F",
	7:	"G",
	8:	"H",
	9:	"I",
	10:	"J",
	11:	"K",
	12:	"L",
	13:	"M",
	14:	"N",
	15:	"O",
	16:	"P",
	17:	"Q",
	18:	"R",
	19:	"S",
	20:	"T",
	21:	"U",
	22:	"V",
	23:	"W",
	24:	"X",
	25:	"Y",
	26:	"Z"
}

result = []
number = int(raw_input('Please Enter the number:').strip())

while True:
	if number <=26:
		result.insert(0,number)
		break
	else:
		n,m = divmod(number,26)
		number = n
		if m != 0:
			result.insert(0,m)
		else:
			result.insert(0,26)
			n -=1
			if (n<=26) and (n != 0):
				result.insert(0,n)
				break

r = ''
for val in result:
	r += letters[val]

print r

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐