3、建立程序文件 prog7-3. py,编写函数:实现进制转专换,要求输入一个10进
制整数,转换成指定的进制(如2、8、16)
提示:用while 循环,循环中用%和//求除以口(进制)的余数和整数商,
余数的逆序即为n进制字符串
注意:16进制由0°9,A^F组成,需要将余数10^15转换为字符AF,考
虑使用函数ord 和chr
思路:从最低位开始不断求出余数,并将余数转换为对应的进制字符(进制大于10时需要特殊处理),然后将这些字符连接起来得到结果字符串。
def convert_to_base(n, base):
"""将10进制整数n转换为base进制的字符串"""
if base < 2 or base > 16:
raise ValueError("进制必须在2到16之间")
if n == 0:
return '0'
digits = '0123456789ABCDEF'
result = ''
while n > 0:
r = n % base
result += digits[r]
n //= base
return result[::-1]
不知道你这个问题是否已经解决, 如果还没有解决的话: