Python活力练习Day24
Day24:(Excel表列名称) 给定一个正整数,返回它在Excel表中相对应的列名称
eg : 1 —> A
2 —> B
3 —> C
. . .
26 —> Z
27 —> AA
28 —> AB
. . .
#做这道题实质是十进制转换为二十六进制
#但是进制是从数字0开始的,而题目要求的是从1开始的,所以每次要对其进行减一操作
#比如数字26 ,出现了0,此时没有任何一个字母是表示0
#函数divmod()用法:把除法和余数运算结果结合起来,返回一个包含商和余数的元祖(a // b,a % b)
divmod(a,b) #int a ,int b
1 def convertToTitle(n): 2 # A的ascii码为65 3 s = '' 4 while (n): 5 n -= 1 6 #y 为余数,n 为除数 7 n,y = divmod(n,26) 8 s = chr(y + 65) + s 9 return s 10 11 n = 701 12 print(convertToTitle(n))
输出结果:ZY
#如若不懂可参考 https://leetcode-cn.com/problems/excel-sheet-column-title/