gpt4 book ai didi

python - 将数字的数字增加一位

转载 作者:行者123 更新时间:2023-11-28 19:48:59 25 4
gpt4 key购买 nike

我正在研究这个看似简单的问题,我需要为数字的每一位加一。示例:数字 = 1234 ;输出 = 2345

这很简单,但是当 9 是其中一个数字时,那么根据加法定律,9 将被 0 代替,并且 1 将被添加到左边的数字(9 + 1 = 10,因此,将值 = 0 & 结转 = 1)示例:数字 = 1239 ;输出 = 2350

number = 1234
s = str(number)
l = []

for num in s:
num = int(num)
num += 1
if num > 9:
num = 0
l.append(num)
else:
l.append(num)

print int(''.join(str(v) for v in l))

谁能给我解释一下,我应该使用什么逻辑?我可以看到一些关于模块化算术的东西,但不确定如何实现它。谢谢:)

最佳答案

一个简单的方法如下

考虑一个数 N = anan-1an-2...a0

那么 F(N) = N + (10n-1+10n-2 .. 100) = N +整数('1' X N) = N + (10n - 1)/(10 - 1) = N + (10n - 1)/9

>>> def foo(N):
return N + int('1'*len(str(N)))

>>> foo(1234)
2345
>>> foo(1239)
2350

编辑:通过使用幂和公式来简化一点

>>> def foo(N):
return N + ((10**len(str(N)) - 1) // 9)

关于python - 将数字的数字增加一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26565355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com