Python练习题 024:求位数及逆序打印
【Python练习题 024】 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
----------------------------------------------
这题如果不用递归,实在太简单了!!!代码上:
str = input('请输入一个不多于5位的正整数:')
print('这个数字是%s位数,逆序为%s。' % (len(str), str[::-1]))
输出结果如下:
请输入一个不多于5位的正整数:45931
这个数字是5位数,逆序为13954。
就这么简单。真有还有必要写递归函数吗?…… 好吧,我知道这只是一种训练,但我现在睏了,明天再更新递归函数吧…… zzz
【2016-10-19 更新】-----------------------------------------
更新一下递归函数吧。现在我对递归函数的理解是:
def f(x):
if x == 最小值:
return 最小值对应的值或无关紧要的值
else:
return 一个函数,表达式中要设下 f(x-1) 的套
大概就是这样子吧。就像这题,要逆序重排几个字符,那么在函数里就应该这么写:return 最大的那个字符 + 下一个字符,而这里的“下一个字符”必然也会要求 + 下一个字符的,如此循环至最小的那个 str[0] 。代码如下:
str = input('请输入一个不多于5位的正整数:')
def f(x):
if x == 0:
return str[0]
else:
return str[x] + f(x-1)
print('%s位数,逆序为:%s' % (len(str), f(len(str)-1)))
搞定!
++++++++++++++++++++++++++++++++++++++
Python练习题 024:求位数及逆序打印的更多相关文章
- c#编程:给定一个正整数求出是几位数并逆序输出
<span style="color:#FF0000;">第一步:把输入的数字转为字符串n.ToString() 第二步:求出字符串的长度即为正整数的位数 第三步:从后 ...
- 4.给定一个正整数m,统计m的位数,分别打印每一位数字,再按照逆序打印出各位数字。 要求:m定义为类的属性,需定义构造函数为m赋值;当m大于99999时,输出错误信息“the number is too large”,不再执行。
package a; public class ShuZi { int m; public int getM() { return m; } public void setM(int m) { thi ...
- 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方
//归并排序 //#include<stdio.h> //#include<string.h> //#include<algorithm> //#include&l ...
- 面试:用 Java 逆序打印链表
昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入了 volatile 关键字,不少朋友问我,到底为啥要加 volatile 这个关键字呀,而它,到底又有什么神奇的作用呢 ...
- 九度oj 题目1525:子串逆序打印
题目1525:子串逆序打印 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:3124 解决:530 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在 ...
- 2、java数据结构和算法:单链表: 反转,逆序打印, 合并二个有序链表,获取倒数第n个节点, 链表的有序插入
什么也不说, 直接上代码: 功能点有: 1, 获取尾结点 2, 添加(添加节点到链表的最后面) 3, 添加(根据节点的no(排名)的大小, 有序添加) 4, 单向链表的 遍历 5, 链表的长度 6, ...
- POJ 2299 Ultra-QuickSort (求序列的逆序对数)
题意:废话了一大堆就是要你去求一个序列冒泡排序所需的交换的次数. 思路:实际上是要你去求一个序列的逆序队数 看案例: 9 1 0 5 4 9后面比它小的的数有4个 1后面有1个 0后面没有 5后面1个 ...
- [剑指offer] 14. 链表中倒数第K个节点+翻转+逆序打印+合并两个排序链表 + 链表相交(第一个公共节点) (链表)
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路: 两个指针,起始位置都是从链表头开始,第一个比第二个先走K个节点,当第一个走到链表尾时,第二个指针的位置就是倒数第k个节点.(两指针始终相 ...
- 九度oj 1525 子串逆序打印
原题链接:http://ac.jobdu.com/problem.php?pid=1525 字符串简单题,注意开有结尾有空格的情况否则pe or wa #include<algorithm> ...
随机推荐
- 100offer 为专业程序打造的招聘平台
引用一段100offer的简介 优秀程序员最高效的求职方式 您是名优秀的程序员,很多公司都想邀请您加入,您也有一颗躁动的心.可是,换一份工作对于您,是件机会成本很高的事情.您想一次性看很多个不错的机会 ...
- CSS3每日一练之选择器-结构性伪类选择器
<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title> ...
- Clean Code第二章<命名>
1.命名要有意义 错误写法 正确写法 2.某些构造函数可以提供有意义的静态方法去实现
- mysql创建用户两次授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> IDENTIFIED BY 'some_pass' ...
- labview在线帮助网址
http://zone.ni.com/reference/zhs-XX/help/371361L-0118/ labview网络讲坛 网址 http://v.eepw.com.cn/video/com ...
- commondline 之二 执行类
E:\cn\zno\commandline\Test.class package cn.zno.commandline; import java.lang.management.ManagementF ...
- AWstat(linux下)
一.AWstat统计信息 AWstat是一个非常简洁而且功能强大的统计工具.它可以统计你站点的如下信息: 1 访问量.访问次数.页面浏览量.点击数.数据流量等精确到每月.每日.每小时 2 访问者国家. ...
- poj 3134 Power Calculus(IDA*)
题目大意: 用最小的步数算出 x^n 思路: 直接枚举有限步数可以出现的所有情况. 然后加一个A* 就是如果这个数一直平方 所需要的步骤数都不能达到最优 就剪掉 #include < ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.5 Delete删除用户]
3.5 Delete删除用户 删除也是通过ObjectID获得对象进行删除 [Authorize] public async Task<ActionResult> Delete(strin ...
- map 转换 xml ; xml转map
public class MessageKit { public static String map2xml(Map<String, String> map) throws IOExcep ...