From b16763be70314bfcd2f48b7d4eaf96b038f361bf Mon Sep 17 00:00:00 2001 From: Luke Banicevic <60857954+banaboi@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:38:43 +1000 Subject: [PATCH 1/5] Added excel column title to number algorithm as part of conversions --- conversions/excel_column_to_title.py | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 conversions/excel_column_to_title.py diff --git a/conversions/excel_column_to_title.py b/conversions/excel_column_to_title.py new file mode 100644 index 000000000000..f5745aa3b243 --- /dev/null +++ b/conversions/excel_column_to_title.py @@ -0,0 +1,32 @@ +def excel_title_to_column(column_title: str) -> int: + """ + Given a string column_title that represents + the column title in an Excel sheet, return + its corresponding column number. + + >>> excel_title_to_column("A") + 1 + >>> excel_title_to_column("B") + 2 + >>> excel_title_to_column("AB") + 28 + >>> excel_title_to_column("Z") + 26 + """ + answer = 0 + index = len(column_title) - 1 + power = 0 + + while index >= 0: + value = (ord(column_title[index]) - 64) * pow(26, power) + answer += value + power += 1 + index -= 1 + + return answer + + +if __name__ == "__main__": + from doctest import testmod + + testmod() From 73a4187e04b336513074249966ae9001ece609fa Mon Sep 17 00:00:00 2001 From: Luke Banicevic <60857954+banaboi@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:40:58 +1000 Subject: [PATCH 2/5] Renamed file to better reflect algorithm function --- conversions/excel_title_to_column.py | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 conversions/excel_title_to_column.py diff --git a/conversions/excel_title_to_column.py b/conversions/excel_title_to_column.py new file mode 100644 index 000000000000..f5745aa3b243 --- /dev/null +++ b/conversions/excel_title_to_column.py @@ -0,0 +1,32 @@ +def excel_title_to_column(column_title: str) -> int: + """ + Given a string column_title that represents + the column title in an Excel sheet, return + its corresponding column number. + + >>> excel_title_to_column("A") + 1 + >>> excel_title_to_column("B") + 2 + >>> excel_title_to_column("AB") + 28 + >>> excel_title_to_column("Z") + 26 + """ + answer = 0 + index = len(column_title) - 1 + power = 0 + + while index >= 0: + value = (ord(column_title[index]) - 64) * pow(26, power) + answer += value + power += 1 + index -= 1 + + return answer + + +if __name__ == "__main__": + from doctest import testmod + + testmod() From 49b588d32fc084d4aeebbe20b7448c04b14bdaf1 Mon Sep 17 00:00:00 2001 From: Luke Banicevic <60857954+banaboi@users.noreply.github.com> Date: Sat, 2 Oct 2021 00:48:21 +1000 Subject: [PATCH 3/5] Removed duplicate file --- conversions/excel_column_to_title.py | 32 ---------------------------- 1 file changed, 32 deletions(-) delete mode 100644 conversions/excel_column_to_title.py diff --git a/conversions/excel_column_to_title.py b/conversions/excel_column_to_title.py deleted file mode 100644 index f5745aa3b243..000000000000 --- a/conversions/excel_column_to_title.py +++ /dev/null @@ -1,32 +0,0 @@ -def excel_title_to_column(column_title: str) -> int: - """ - Given a string column_title that represents - the column title in an Excel sheet, return - its corresponding column number. - - >>> excel_title_to_column("A") - 1 - >>> excel_title_to_column("B") - 2 - >>> excel_title_to_column("AB") - 28 - >>> excel_title_to_column("Z") - 26 - """ - answer = 0 - index = len(column_title) - 1 - power = 0 - - while index >= 0: - value = (ord(column_title[index]) - 64) * pow(26, power) - answer += value - power += 1 - index -= 1 - - return answer - - -if __name__ == "__main__": - from doctest import testmod - - testmod() From e10697b99e4fc5bf5ef7da246363ae976abaf52e Mon Sep 17 00:00:00 2001 From: John Law Date: Fri, 20 May 2022 12:18:02 +0800 Subject: [PATCH 4/5] Update excel_title_to_column.py --- conversions/excel_title_to_column.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conversions/excel_title_to_column.py b/conversions/excel_title_to_column.py index f5745aa3b243..3cf750e8080d 100644 --- a/conversions/excel_title_to_column.py +++ b/conversions/excel_title_to_column.py @@ -13,6 +13,7 @@ def excel_title_to_column(column_title: str) -> int: >>> excel_title_to_column("Z") 26 """ + assert(column_title.isupper()) answer = 0 index = len(column_title) - 1 power = 0 From 976634e8f98eb2bb6a1075845b194919ac4bcd0e Mon Sep 17 00:00:00 2001 From: John Law Date: Fri, 20 May 2022 12:21:59 +0800 Subject: [PATCH 5/5] Update excel_title_to_column.py --- conversions/excel_title_to_column.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conversions/excel_title_to_column.py b/conversions/excel_title_to_column.py index 3cf750e8080d..d77031ec26f2 100644 --- a/conversions/excel_title_to_column.py +++ b/conversions/excel_title_to_column.py @@ -13,7 +13,7 @@ def excel_title_to_column(column_title: str) -> int: >>> excel_title_to_column("Z") 26 """ - assert(column_title.isupper()) + assert column_title.isupper() answer = 0 index = len(column_title) - 1 power = 0