用Python语言编写函数把任意十进制整数n转换成进制数不使用递归
以下是使用Python语言编写的将十进制整数n转换为进制数的函数:
def decimal_to_base(n, base):
"""
将十进制整数n转换为任意进制数
:param n: 十进制整数
:param base: 要转换的进制数
:return: 转换后的进制数
"""
if not isinstance(n, int) or not isinstance(base, int):
return None
if base < 2 or base > 36:
return None
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ""
while n > 0:
digit = n % base
result = digits[digit] + result
n //= base
return result if result else "0"
该函数接受两个参数:要转换的十进制整数n和要转换的进制数base。如果n或base不是整数,函数将返回None。如果base不在2到36的范围内,函数也将返回None。
函数使用digits字符串来表示数字字符。例如,digits[0]表示数字0,digits[10]表示字母A,依此类推。
函数使用一个while循环,将n转换为base进制数。在每一次循环中,取n除以base的余数,并将其对应的数字字符添加到结果字符串的开头。然后将n除以base向下取整,以便在下一次循环中处理更高位的数字。
最后,如果结果字符串为空,则返回字符串"0"。否则,返回转换后的进制数
原文地址: https://www.cveoy.top/t/topic/ftsu 著作权归作者所有。请勿转载和采集!