我试图创建一个函数,它接受基数为10的数字,并且可以从2到9更改为任何基数。我试图仅使用math
模块而只是一些简单的数学。
我的代码涉及字符串,我想消除它们,而是让函数做一些数学而不是使用字符串中的数字。我也试图使输出整数。
def conver(n,b):
digits = ('0123456789')
ans = ""
while n > 0:
ans = digits[n%b] + ans
n //= b
return ans
例如,用户可以输入值(14,2)并获得输出1110
答案 0 :(得分:0)
一个简单的实现,可以"转换"基数为9,如下:
def conver(n,b):
a = 0
i = 0
while n:
n,r = divmod(n,b)
a += 10**i * r
i += 1
return a
请注意n,r = divmod(n,b)
可以是r = n % b; n //= b
请注意,您获得的数字是一个整数(作为一种类型),但使用它是没有意义的,因为基数是错误的:Ex:1110
不是真的{ {1}}。所以它与字符串没有什么不同......
嗯,那只是为了练习。