gpt4 book ai didi

python - 在 Python 3 中转换为不同的位置符号

转载 作者:行者123 更新时间:2023-11-28 18:49:18 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,允许我将数字从某种位置表示法转换为另一种选择,从二进制一直到 *hexa*trigesimal base numbers。为此,我首先需要能够将我的初始数字(以字符串形式给出)转换为十进制数,以便进一步转换。

但是,我的函数似乎有错误。

我有什么:

def decimal(number, base1):
number_dec = 0
val = '0123456789abcdefghijklmnopqrstuvwxyz'

if base1 != 10:
for digit in number[::-1]:
factor = val.find(digit)
for exp in range(0, len(number)):
number_dec += factor * base1 **exp
else:
number_dec = number
return number_dec

如果我输入,例如:

decimal('4d2', 16)

该函数返回“5187”而不是正确的“1234”。

错在哪里?

最佳答案

对每个数字执行整个循环:

    for exp in range(0, len(number)):
number_dec += factor * base1 **exp

如果您没有推出自己的工具,您可以使用内置工具:

In [2]: int('4d2', 16)
Out[2]: 1234

关于python - 在 Python 3 中转换为不同的位置符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15440379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com