gpt4 book ai didi

python - 使用递归函数时避免字符串+整数相加

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:59 25 4
gpt4 key购买 nike

我正在尝试构建一个函数(使用函数递归)来扫描数字 n 来查找数字 d,如果找到,我想用指定的数字 r 替换 d,如代码如下。这段代码工作正常,但输出是字符串格式。我尝试了多种方法将其更改为输出整数但无济于事。感谢您的帮助!

def replace_digit(n, d, r):
number = str(n)
i = 0
if len(number) == 1:
if number == str(d):
return str(r)
else:
return number
else:
if number[i] == str(d):
return number[:i] + str(r) + replace_digit(int(number[i+1:]),d,r)
else:
return number[i] + replace_digit(int(number[i+1:]),d ,r)

最佳答案

def replace_digit(number, digit, replacement):

if number == 0:
return number # base case

quotient, remainder = divmod(number, 10)

if remainder == digit:
remainder = replacement

return replace_digit(quotient, digit, replacement) * 10 + remainder


print(replace_digit(961748941982451653, 9, 2))

输出

261748241282451653

关于python - 使用递归函数时避免字符串+整数相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015523/

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