为了账号安全,请及时绑定邮箱和手机立即绑定

Python:如何使用递归反转整数

Python:如何使用递归反转整数

慕哥9229398 2022-06-02 17:52:57
我遇到了一个问题,我必须仅使用递归来反转给定的数字,但问题是当我尝试打印出反转的整数时,例如,如果整数是 1234,它会一次打印部分反转的数字,例如:21、321、4321。我该如何解决这个问题,以便它可以一次性打印 4321?def reverse_digits(n):    if n < 10:        return n    else:        reverse = str(n % 10) + str(reverse_digits(n // 10))        print(reverse)        return reverse
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

只是根本不让函数打印任何东西,只返回值,调用时可以打印:


def reverse_digits(n):

    if n < 10:

        return n

    else:

        reverse = str(n % 10) + str(reverse_digits(n // 10))

        return reverse


print(reverse_digits(1234))

输出:


4321

如果您仍然希望该功能打印,您可以在同一行中分别打印每个数字(end=''在打印功能中使用):


def reverse_digits(n):

    if n < 10:

        print(n)  #  print the very last digit and add a newline

        return n

    else:

        print(n % 10, end='')  #  print the last digit so far and stay on the same line

        reverse = str(n % 10) + str(reverse_digits(n // 10))

        return reverse


reverse_digits(1234)

输出:


4321


查看完整回答
反对 回复 2022-06-02
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

从函数中删除打印:


def reverse_digits(n):

    if n < 10:

        return n

    else:

        reverse = str(n % 10) + str(reverse_digits(n // 10))

        return reverse

print(reverse_digits(1234))


查看完整回答
反对 回复 2022-06-02
  • 2 回答
  • 0 关注
  • 244 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号