zoukankan      html  css  js  c++  java
  • 利用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:转载请注明文章出处。

  • 相关阅读:
    d
    今天刚注册,测试下
    关于Hadoop的简单介绍
    leveldb 阅读笔记 (2) 简易测试框架
    leveldb 阅读笔记(1) 内存分配器 Arena
    数论
    伴随网站
    convenience website
    大佬独特的骗分技巧
    动态规划
  • 原文地址:https://www.cnblogs.com/magic-zero/p/6366504.html
Copyright © 2011-2022 走看看