python 对于给定数字及其基数,返回相应的十进制数。适用于1 <基数<36的基数范围。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对于给定数字及其基数,返回相应的十进制数。适用于1 <基数<36的基数范围。相关的知识,希望对你有一定的参考价值。
numeralValues = { "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5,
"6": 6, "7": 7, "8": 8, "9": 9, "A": 10, "B": 11,
"C": 12, "D": 13, "E": 14, "F": 15, "G": 16, "H": 17,
"I": 18, "J": 19, "K": 20, "L": 21, "M": 22, "N": 23,
"O": 24, "P": 25, "Q": 26, "R": 27, "S": 28, "T": 29,
"U": 30, "V": 31, "W": 32, "X": 33, "Y": 34, "Z": 35}
def to_decimal(str_number, radix):
if not is_valid_combination(str_number, radix):
return -1
str_number = str_number[::-1]
decimal_value = 0
current_weight = 0
# Calculate the weighted value of every digit and add it to the sum
for digit in str_number:
decimal_value += numeralValues[digit] * radix ** current_weight
current_weight += 1
return decimal_value
def is_valid_combination(str_number, radix):
for digit in str_number:
if numeralValues[digit] >= radix: # The digit can't be equal or greater than the radix
return False
return True
以上是关于python 对于给定数字及其基数,返回相应的十进制数。适用于1 <基数<36的基数范围。的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中解析十六进制或十进制整数 [重复]
用于提取数字及其十进制变化的 SQL 查询 [关闭]
算法知识详解基数排序算法
Python内置函数总结
Python内置函数总结
1106.数字之和