一、简单版(只实现这两个需求)

num=input('你好呀,请输入一个不多于五位的正整数>>>')
print('嗯,我看过了,这是一个'+str(len(num))+'位数。')
#len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接
print('我把它倒过来给你看看:',''.join(list(reversed(num))))
#reversed函数把原数字反转过来,返回的结果是迭代器
#用list函数把迭代器变成列表
#用join方法连接list里的所有元素,得到列表,用于连接的字符是什么也没有,所以就会无缝拼接

但是有一些数字翻转过来跟原来是一样的,比如8,88,858,8558,85658,所以下面的升级版会把这些无聊的翻转考虑进去,让程序更智能一点,更,em,可爱一点……

二、升级版

num=input('你好呀!请输入一个不多于五位的正整数:')
print('嗯,我看过了。它是一个'+str(len(num))+'位数。')
if (len(num)==1) or (len(num)<=3 and num[0]==num[-1]) or (num[0]==num[-1] and num[1]==num[-2]):
#这里提出了三种懒得反转的情况,分别是只有一位数,比如8
#两位或者三位数,第一个数字和最后一个数字相同,比如88,858
#四位或者五位数,第一个数字和最后一个数字相同,第二个数字和倒数第二个数字相同,比如8558,85658print('我本来想把它倒过来给你看看,但是它倒着写不好玩儿,算了吧~')
else:print('我把它倒过来了,现在它变成了',''.join(list(reversed(num)))) 

三、自己造轮子(关注算法的请看)

num=input('请输入一个不超过5位的正整数>>>')
num=int(num)
#变量res用于存储逆转之后的数字
res=0
#变量count用于存储数字位数
count=0
#下面是这个算法的核心
while num !=0:#用取余数的方式取出当前的个位数字,# 把结果中原来已有的部分乘以10,加上刚取出来的个位数字。#这就相当于把原来的部分往前挪了一下,给新来的个位数腾出来一个地方res=res*10+num%10#用除以10并向下取整的方式把已经处理过的数位去掉num//=10#每处理一次,就给计数器count加1,用这样的方式计算num是几位数count+=1print(f'这是一个{count}位数,它的逆序数字是{res:0>{count}}')

为了帮助大家更好地理解上述算法的核心,请看下面的图解:

如果这篇博文帮到了你,就请给我点个吧(#^.^#)

有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙

Python实现给一个不多于5位的正整数,求它是几位数,逆序打印这个数字相关推荐

  1. 给一个不多于5位的正整数求它是几位数并逆序打印出各位数字(JAVA)

    import java.util.Scanner;public class Demo6 {public static void main(String[] args) {System.out.prin ...

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

    本题目来自runoob 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 思路介绍 打印出几位数(利用枚举取一个边界函数) 逆序(用%取余函数) 复习:可以使用//求取两数相 ...

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

    题目:给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 程序分析:学会分解出每一位数. def theNumberOfNum(self, num):numTemp = int ...

  4. 代码实现:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。...

    import java.util.Scanner; //给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. public class Test {public static v ...

  5. 给定一个不多于5位的正整数,判断它是几位数,并输出。 输入

    /给定一个不多于5位的正整数,判断它是几位数,并输出. 输入 一个不多于5位的正整数. 输出 输出正整数的位数,单独占一行. 样例输入 Copy 111 样例输出 Copy 3 来源/分类/ #inc ...

  6. 【C语言】给出一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字。

    给出一个不多于5位的正整数,要求: 求出它是几位数: 分别输出每一位数字: 按逆序输出各位数字. 1.求出它是几位数 思路:一个数每一次除以10都会少一位数. // scanfNum:输入的5位数 / ...

  7. C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;

    /*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/#include <stdio.h> #include <m ...

  8. 给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字;

    对一个数如何得出它是几位数并求出其个位.十位.百位.千位- 给一个不多于5位的正整数,要求: 1.求出它是几位数: 2.分别输出每一位数字: 3.按逆序输出各位数字: 代码如下 #include &l ...

  9. 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数;2. 分别打印出每一位数字;3. 按逆序打印出各位数字,例如原数位321,应输出123。

    C++程序设计(第三版) 谭浩强 习题3.12 个人设计 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数:2. 分别打印出每一位数字:3. 按逆序打印出各位数字,例如原数位32 ...

最新文章

  1. python 光标位置输入文字_Python 移动光标位置的方法
  2. C# DEBUG 调试信息打印及输出详解
  3. 停车30分钟内不收费,程序员远程操控挪车,实现自动免费停车...
  4. IDispose和Finalize的区别和联系
  5. ubuntu导入python的包_在ubuntu环境下怎么利用python将数据批量导入数据hbase
  6. SpringBoot 2.0 pom.xml 配置(热启动)
  7. 马来西亚热情拥抱阿里巴巴 马云倡议的eWTP首次落地海外
  8. 1360E. Polygon
  9. 深入研究Java中一个对象的初始化过程
  10. iOS8上本地通知接收不到的问题
  11. cent os7 安装jenkins(rpm)
  12. JavaWeb框架-Spring(基本概念)
  13. 第24期、宠物医院管理系统
  14. 技术架构图-Java技术栈
  15. 双碑零基础意大利语学习 小白也能看懂的意大利语入门知识
  16. ubuntu上安装视频插件
  17. mysql back blog_mysql qpress压缩备份恢复
  18. 开发版速达-提供在线帐套配置功能
  19. 2021全国大学生电子设计竞赛A题
  20. C语言:统计候选人的得票数

热门文章

  1. Android 发布代码到github 并且部署到 JitPack maven 仓库详细步骤
  2. Vue 设置背景图片
  3. 谈谈红楼梦(第1-5回)
  4. 怎么用计算机给u盘加密文件,电脑如何使用bitlocker功能给u盘加密
  5. 防火墙阻止应用程序linux,win10系统下如何解除被防火墙阻止运行的应用程序
  6. 红绿灯单片机仿真;Keil和Proteus的联合使用仿真;包含免费资源
  7. 如何批量将多个 PPT 文档按指定页分别拆分成多个文档
  8. 电机学他励直流发电机matlab,基于Matlab并励直流发电机的自励过程分析
  9. luogu2791 幼儿园篮球题 第二类斯大林数(特)卡常NTT
  10. Python包中__init__.py文件的作用和用法