Python:整数的N进制字符串表示
【问题描述】编写函数itob(n,b),用于把整数n转换成以b为基底的字符串并返回.编写程序,使用函数itob(n,b)将输入的整数n,转换成字符串s,将s输出。转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为'-'。b为大于1小于37的任意自然数。当b=2时,输出字符只可能是'0'和'1';当b=16时,输出字符串中可能含有字符为'0'-'9','a'-'f'(字
·
【问题描述】
编写函数itob(n,b),用于把整数n转换成以b为基底的字符串并返回.
编写程序,使用函数itob(n,b)将输入的整数n,转换成字符串s,将s输出。转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为'-'。b为大于1小于37的任意自然数。当b=2时,输出字符只可能是'0'和'1';当b=16时,输出字符串中可能含有字符为'0'-'9','a'-'f'(字母以小写输出)。b为18时,数码是'0'-'9','a'-'h',其中'a'代表10,'g'代表16, 'h'代表17。又比如,输入n=33,b=17,则输出33的17进制值为"1g"。
【输入形式】
输入整数n和b,其中n可以为负数。n和b以空格分隔.
【输出形式】
输出转换后的字符串
【样例输入】
5 2
【样例输出】
101
【样例说明】
5的二进制就是101
def itob(n, b, iterrable):
issmall_than_zero = False
if n<0:
n = -n
issmall_than_zero = True
while (n/b):
j = n%b
n = n//b
if j>9:
j=chr(j+97-10)
iterrable.append(j)
return issmall_than_zero
x = input().split(" ")
x[0] = int(x[0])
x[1] = int(x[1])
s = []
ans = itob(x[0],x[1],s)
if ans:
print("-",end="")
for i in range(len(s)-1,-1,-1):
print(s[i],end="")
else:
for i in range(len(s)-1,-1,-1):
print(s[i],end="")

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)