zoukankan      html  css  js  c++  java
  • 菜鸟教程 Python100例 之实例29

    学习编程的路,走得好艰辛。。。

    为了巩固基础知识,把菜鸟教程网上的实例拿来练习。。

    在做到实例29时,看了网站给出的代码,觉得可以加强一下功能,不由得动了一下脑筋,如下:

    原文题目:

    题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    程序分析:学会分解出每一位数。

    网站给出的参考代码:

     1 #!/usr/bin/python
     2 # -*- coding: UTF-8 -*-
     3 
     4 x = int(raw_input("请输入一个数:
    "))
     5 a = x / 10000
     6 b = x % 10000 / 1000
     7 c = x % 1000 / 100
     8 d = x % 100 / 10
     9 e = x % 10
    10 
    11 if a != 0:
    12     print "5 位数:",e,d,c,b,a
    13 elif b != 0:
    14     print "4 位数:",e,d,c,b,
    15 elif c != 0:
    16     print "3 位数:",e,d,c
    17 elif d != 0:
    18     print "2 位数:",e,d
    19 else:
    20     print "1 位数:",e 

    参考代码的功能太简单,只能检测5位数以内的整数,如果按这种逻辑写,十位如何,百位又当如何,动了一下脑筋,使用递归,可以实现N位数检测,并反转显示,代码如下:

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    n = raw_input("Input the number: ")
    s = list(n)
    l = len(str(n))
    def output(s,l):
    	if l == 0:
    		return
    	print s[l - 1]
    	output(s,l - 1)
    
    output(s,l)
    print '"%s" is %d digits' % (n,l)
    

     还有一种思路,将输入的数字转成列表。

  • 相关阅读:
    PHP“Cannot use object of type stdClass as array”
    JS简单循环遍历json数组的方法
    省市区、民族下拉列表框
    java 代码获取视频时长
    CentOs 相关
    曾经遇过的sql问题
    在线分享代码
    ssm 数据库连接池配置
    代码片段
    java 常见问题
  • 原文地址:https://www.cnblogs.com/rousi/p/5254775.html
Copyright © 2011-2022 走看看