Python实现给一个不多于5位的正整数,求它是几位数,逆序打印这个数字
一、简单版(只实现这两个需求)
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位的正整数,求它是几位数,逆序打印这个数字相关推荐
- 给一个不多于5位的正整数求它是几位数并逆序打印出各位数字(JAVA)
import java.util.Scanner;public class Demo6 {public static void main(String[] args) {System.out.prin ...
- python作业题2 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
本题目来自runoob 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 思路介绍 打印出几位数(利用枚举取一个边界函数) 逆序(用%取余函数) 复习:可以使用//求取两数相 ...
- 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
题目:给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 程序分析:学会分解出每一位数. def theNumberOfNum(self, num):numTemp = int ...
- 代码实现:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。...
import java.util.Scanner; //给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. public class Test {public static v ...
- 给定一个不多于5位的正整数,判断它是几位数,并输出。 输入
/给定一个不多于5位的正整数,判断它是几位数,并输出. 输入 一个不多于5位的正整数. 输出 输出正整数的位数,单独占一行. 样例输入 Copy 111 样例输出 Copy 3 来源/分类/ #inc ...
- 【C语言】给出一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字。
给出一个不多于5位的正整数,要求: 求出它是几位数: 分别输出每一位数字: 按逆序输出各位数字. 1.求出它是几位数 思路:一个数每一次除以10都会少一位数. // scanfNum:输入的5位数 / ...
- C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;
/*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/#include <stdio.h> #include <m ...
- 给一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字;
对一个数如何得出它是几位数并求出其个位.十位.百位.千位- 给一个不多于5位的正整数,要求: 1.求出它是几位数: 2.分别输出每一位数字: 3.按逆序输出各位数字: 代码如下 #include &l ...
- 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数;2. 分别打印出每一位数字;3. 按逆序打印出各位数字,例如原数位321,应输出123。
C++程序设计(第三版) 谭浩强 习题3.12 个人设计 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数:2. 分别打印出每一位数字:3. 按逆序打印出各位数字,例如原数位32 ...
最新文章
- python 光标位置输入文字_Python 移动光标位置的方法
- C# DEBUG 调试信息打印及输出详解
- 停车30分钟内不收费,程序员远程操控挪车,实现自动免费停车...
- IDispose和Finalize的区别和联系
- ubuntu导入python的包_在ubuntu环境下怎么利用python将数据批量导入数据hbase
- SpringBoot 2.0 pom.xml 配置(热启动)
- 马来西亚热情拥抱阿里巴巴 马云倡议的eWTP首次落地海外
- 1360E. Polygon
- 深入研究Java中一个对象的初始化过程
- iOS8上本地通知接收不到的问题
- cent os7 安装jenkins(rpm)
- JavaWeb框架-Spring(基本概念)
- 第24期、宠物医院管理系统
- 技术架构图-Java技术栈
- 双碑零基础意大利语学习 小白也能看懂的意大利语入门知识
- ubuntu上安装视频插件
- mysql back blog_mysql qpress压缩备份恢复
- 开发版速达-提供在线帐套配置功能
- 2021全国大学生电子设计竞赛A题
- C语言:统计候选人的得票数
热门文章
- Android 发布代码到github 并且部署到 JitPack maven 仓库详细步骤
- Vue 设置背景图片
- 谈谈红楼梦(第1-5回)
- 怎么用计算机给u盘加密文件,电脑如何使用bitlocker功能给u盘加密
- 防火墙阻止应用程序linux,win10系统下如何解除被防火墙阻止运行的应用程序
- 红绿灯单片机仿真;Keil和Proteus的联合使用仿真;包含免费资源
- 如何批量将多个 PPT 文档按指定页分别拆分成多个文档
- 电机学他励直流发电机matlab,基于Matlab并励直流发电机的自励过程分析
- luogu2791 幼儿园篮球题 第二类斯大林数(特)卡常NTT
- Python包中__init__.py文件的作用和用法