行好办,直接看数字就好啦,列字母 A~Z 有 26 列,然后就是 AA,AB……。 如果 m<27 还可以掰着手指数一下,万一 m 超级大呢?有人说:简单啊,打开一个 Excel,数一数哈,如下图所示:
确实挺不错的办法,那如果 m 是一万、一千万呢?
废话不多说,直接上代码:
my_list = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] my_str = "" x = int(input("请输入列数:")) while x: i = x % 26 x = x // 26 my_str = my_list[i - 1] + my_str print("所对应的列名:", my_str)效果如下:
那么问题来了。。。
这明明是砸场子来了
行依然好办,直接看数字就好啦,列字母 A ~ Z 有 26 列,然后就是 AA,AB……。 如果列字母是 A ~ Z 还可以掰着手指数一下,万一是 IV 呢?又有人说:简单啊,打开一个 Excel,经过一番操作肯定能知道结果,如下图所示:
废话不多说,直接上代码:
my_list = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] my_num = 0 x = input("请输入列名:").upper() while x: r = x[0] x = x[1:] my_num = my_num * 26 + my_list.index(r) + 1 print("所对应的列数:", my_num)效果如下:
哈哈,简单吧,快来试试看吧。这次没问题了吧。。。有问题欢迎交流哦 ~