一、问题描述
编程实现将输入的整数逆序输出
二、问题分析
逆序输出数字实际是一个数值问题的递归
三、算法设计
该问题要求输入任意一个整数,实现它的逆序输出。首先判断输入的整数是正整数还是负整数,如果是负整数, 则在逆序输出前应先打印出负号。设计逆序递归函数reverse():
# 逆序函数
def reverse(n):
if n != 0:
#输出正整数n当前的最高位
print("%d" %(n%10),end="")
#递归函数调用
reverse(n // 10)
四、完整程序
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 递归函数
def reverse(n):
if n != 0:
# 输出正整数n当前的最高位
print("%d" % (n % 10), end="")
# 递归函数调用
reverse(n // 10)
if __name__ == "__main__":
num = int(input("请输入任意一个整数: "))
# 如果num<0,先把num转化为字符串,截取第一位 -号,然后将数字逆序再拼接上
if num < 0:
str_num = str(num)
# 剪切调符号位
num = str_num[1:]
print("-", end="")
reverse(int(num))
else:
reverse(num)
五、运行结果