【发布时间】:2023-03-09 06:46:01
【问题描述】:
如何将数字转换为 base9 中的等效数字,但需要注意的是它的 base9 没有“0”数字。
例如:
Base10 = 0, 1, 2, 3, .. 9, 10, 12 ... 28, 29, 30, ... 62, 63, 64 等
Base9 = N/A, 1, 2, 3, .. 9, 11, 12 ... 31, 32, 33, ... 68, 69, 71 等
我希望能够获取一个普通的十进制数(例如:10)并在 base9 中返回,忽略 0 位(例如:11)。
我是 python 和一般编程的新手,更不用说我在数学方面缺乏知识,所以我的第一次尝试相当草率。它只适用于较小的数字,我觉得有一种更简单的方法来做到这一点。
def base9(x):
count = 0
a = xrange(10,100,9)
while count != x:
if x < a[count]:
return x + count
count += 1
print base9(10)
【问题讨论】:
-
我认为 base 9 也没有 9。以 9 为底的 10 意味着以 10 为底的 1*9 + 0*1 = 9
-
为什么基数 9 not 会有零?