利用Python实现倒序任意整数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Python实现倒序任意整数相关的知识,希望对你有一定的参考价值。

这是很早以前学习C时候做过的一个练习题,题目的要求大概是把用户输入的三位数倒序输出,比如说用户输入123,然后程序应该输出的结果是321。如果遇到用户输入100,那么程序应该输出1。然后我给扩展一下,这个程序来适应于三位数以上的或者三位数以下的。

 

那么遇到这个问题,我首先的思路就是想办法把用户输入的数字给他拆开,然后放在列表里边。然后拿出来重新拼接一下就好了。所以我写好的前边的代码如下:

 

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-

number = int(raw_input("please input a number:"))

numlist = []

while 1:
    if number == 0:
        break
    numlist.append(number % 10)
    number = number / 10

 

这个时候我们打印numlist的值可以得到一个长度和数字位数相等的列表。

然后是拼接的过程,这里我想起来Python的高阶函数reduce(),这个函数的第一个参数接收一个函数用于处理列表,第二个参数接收的是要处理的列表。

意思是这样:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

 所以处理函数这么写的:

def f(x, y):
    return x * 10 + y

 

最终的代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

number = int(raw_input("please input a number:"))

numlist = []

result = 0

while 1:
    if number == 0:
        break
    numlist.append(number % 10)
    number = number / 10


def f(x, y):
    return x * 10 + y

print reduce(f, numlist)

 ps:转载请注明文章出处。

 


以上是关于利用Python实现倒序任意整数的主要内容,如果未能解决你的问题,请参考以下文章

C#输入一个五位整数,倒序输出。

c语言用循环的方法,把输入的一个整数,倒序输出

华为OD机试真题Python实现单词倒序真题+解题思路+代码(2022&2023)

Leetcode练习(Python):数学类:第9题:回文数:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

Python编写代码实现指定下标值顺序进行正序和倒序排序算法编程

Python编写代码实现指定下标值顺序进行正序和倒序排序算法编程