有这么个思路看上去似乎能用,各位看看有没有问题: 逢4在对应位多加1,只要发生进位,那么从进制来看是9进制,只不过遇到4提前加1然后超过9进位,而不是自然统计到9后进位,那么大体上是比较接近把9进制转成10进制的结果的,不过毕竟因为进制转换的方式和真正的9进制有点差异,把输入所有位都和4对比,大于4的都减一就得到了按照9进制处理的实际花费,再按照9进制转换下即可: s = input() # string output_string = '' for i in s: num = int(i) if num > 4: output_string += str(num - 1) else: output_string += str(num) print(int(output_string, 9))