1-64以内任何进制转十进制Python代码,1-63用1-9,小写a-z,大写A-Z,@和_表示
时间: 2024-04-17 20:25:25 浏览: 16
好的,以下是一个可以将1-64进制转换为十进制的Python代码示例:
```python
def base_to_decimal(number, base):
decimal = 0
power = 0
while number > 0:
digit = number % 10
decimal += digit * (base ** power)
number //= 10
power += 1
return decimal
def convert_to_decimal(number, base):
if base > 64 or base < 1:
return "Invalid base. Base should be between 1 and 64."
valid_digits = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@_"
number = str(number)
decimal = 0
for i in range(len(number)):
digit = valid_digits.index(number[-i-1])
decimal += digit * (base ** i)
return decimal
# 示例用法
number = "1A"
base = 16
decimal = convert_to_decimal(number, base)
print(decimal) # 输出:26
```
以上代码定义了两个函数:`base_to_decimal()` 和 `convert_to_decimal()`。`base_to_decimal()` 函数用于将任意进制(1-10)的数字转换为十进制,而 `convert_to_decimal()` 函数用于将1-64进制的数字转换为十进制。
你可以调用 `convert_to_decimal()` 函数并传入要转换的数字和进制作为参数。在示例中,我们将 "1A"(16进制)转换为十进制,并将结果打印出来。