python 定义1个函数 将字符串从 m 进制转换为十进制的函数
下面是一个 Python 函数,它将一个字符串从 m 进制转换为十进制:
python
def convert_to_decimal(num_str, basepython教程字符串函数):
"""
将字符串从 m 进制转换为十进制
参数:
num_str (str): m 进制的数字字符串
base (int): m 进制的基数
返回:
int: 转换后的十进制数
"""
# 初始化十进制数为0
decimal_num = 0
# 从右到左遍历字符串,每个字符乘以对应的基数次幂
for i, digit in enumerate(reversed(num_str)):
# 将字符转换为对应的数字
digit_val = int(digit, base)
# 计算该数字的十进制值并加到总数中
decimal_num += digit_val * (base ** i)
return decimal_num
请注意,此函数假定 num_str 中的每个字符都是有效的 m 进制数字,并且 base 的值在 2 到 36 之间(因为 Python 的 int() 函数可以处理从二进制(基数为2)到三十六进制(基数为36)的转换,三十六进制中包括数字 0-9 和字母 a-z)。
另外,此函数在转换字符串时没有考虑字符的大小写,所以如果字符串中包含大写字母,它可能会抛出 ValueError。如果需要处理这种情况,可以在将字符转换为数字之前,使用 str.lower() 将字符串转换为小写。
然后你可以像下面这样调用这个函数:
python
print(convert_to_decimal('1010', 2)) # 输出: 10
print(convert_to_decimal('A', 16)) # 输出: 10
print(convert_to_decimal('12', 8)) # 输出: 10
注意,当基数大于10时,字符串中的数字将使用字母来表示,例如十六进制中的 'A' 表示 10,'B' 表示 11,以此类推,直到 'F' 表示 15。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。