1. 程式人生 > 其它 >電子表格列的標號

電子表格列的標號

技術標籤:Python演算法實戰python人工智慧軟體測試

Spreadsheet Columns

電子表格列的標號

問題描述
在很多電子表格軟體中,列的標號都是用字母的組合表示的。例如第一列到第26列分別用字母 A-Z 表示。從 27 列開始,用 AA, AB, …, ZZ, AAA 等表示。給定一個整數表示列數,按照上述規則,輸出其列號。

測試樣例

# Input:
1
# Output:
A
# Input:
28
# Output:
AB
# Input:
676
# Output:
YZ

內容首發於微信公眾號IT資訊教室,如果您想學習更多AI相關的技能,歡迎搜尋關注或微信掃描下方二維碼關注~~

在這裡插入圖片描述

參考程式碼

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ---------------------
# O(logn) time|O(1) space
# ---------------------
# 1 -> A, 26 -> Z
# 例如給定整數 N = 28,首先取 (28-1) 除以 26 的餘數,商為 1,餘數為 2。
# 2 -> B。然後更新 N 為 1(商)。
# 取 (1-1) 除以 26 的餘數,商為 0,餘數為 1。
# 1 -> A。因為商為 0,程式結束。
# 輸出為 'AB'
def columnName
(num): result = '' while num > 0: # chr 將 ASCII 碼轉為字母,ord將字母轉為 ASCII 碼。 result = chr((num-1)%26 + ord('A')) + result num = (num-1)//26 return result # Test Program print(columnName(1)) print(columnName(28)) print(columnName(676)) print(columnName(4562336)) # A # AB
# YZ # IYNZL