专栏首页dogfei条件判断与循环

条件判断与循环

1、给一个正整数,要求判断其位数,并且将该数的每一位数打印出来,分别按从为数从小到大和从大到小进行打印

分析:

例如一个正整数为:46127,该数为一个5位数的整数,我们想要的结果为7,2,1,6,4和4,6,1,2,7

如何获得每一位上的数?我们可以通过结合数学上的求商和求余数来解决,例如,我们发现规律:

  1. 第一步:46127 % 10 = 7,46127 // 10 = 4612
  2. 第二步:4612 % 10 = 2,4612 // 10 = 461
  3. 第三步:461 % 10 = 1,461 // 10 = 46
  4. 第四步:46 % 10 = 6,46 // 10 = 4
  5. 第五步:4 % 10 = 4,4 // 10 = 0

通过以上我们发现,我们将任意的整数与10做求模运算,便可以求出个位上的数,以此类推,我们只需要将求出的个位数去掉,转换为比之前的位数少一位的,然后再次对转换后的数进行再次与10的求模运算,依次执行此过程,便可求出我们所要的结果。

实例:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

num = int(input('pls enter your number: ')) if num >= 1000: if num >= 10000: count = 5 else: count = 4 elif num >= 10: if num >= 1000: count = 3 else: count = 2 else: count = 1 # % 求模运算,也就是求余数 # // 求商运算 # num = 46127 while num != 0: # num != 0 a = num % 10 # a = 7 num //= 10 # b = 4612 print(a) num = int(46127) for i in range(count): # num = 46127 count = 5 目的是为了计数用 n = num // 10 # 对46127求商,n = 4612 print(num - n * 10) # 46127 - 4612 * 10 = 7 num = n num = int(46127) for i in range(count): print(num % 10) num //= 10 # num = 46127 // 10, num = 4612

按从大到小依次打印的分析:

1 2 3 4 5 6

46127 // 10000 = 4,46127 % 10000 = 6127,10000 // 10 = 1000 6127 // 1000 = 6,6127 % 1000 = 127,1000 // 10 = 100 127 // 100 = 1,127 % 100 = 27,100 // 10 = 10 27 // 10 = 2,27 % 10 = 7,10 // 10 = 1 7 // 1 = 7,7 % 1 = 0,1 // 10 = 0 这里关键的地方是如何设定10000、1000、100、10、1等数,还有就是这个数是如何来的

实例:

1 2 3 4

num = int(46127) for i in range(count,0,-1): print(num // 10 ** (i - 1)) # 46127 // 10 ** (5 - 1) = 4, num = 46127 num = num % 10 ** (i - 1)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python序列操作—索引详解

    索引0指向的是第一个元素,-1指向的最后一个元素,我们可以使用索引来获取元素,上面的例子中我们也可以直接索引,不用赋值给一个变量,例如:

    dogfei
  • python基础—datetime模块

    dogfei
  • shell脚本小技巧—001

    在子shell中执行命令时,不会对当前的shell有任何影响,所有在子shell中执行的命令仅限于子shell内,例如:

    dogfei
  • 干货 | 携程数据库高可用和容灾架构演进

    郜德光,携程技术保障中心高级数据库经理,负责数据库相关的运维工作,参与了SQL Server和MySQL的高可用以及数据库容灾建设。喜欢钻研技术,对数据相关的技...

    携程技术
  • Sphinx源码学习笔记(一):索引创建

      因为项目开发需要在游戏内部实现玩家名称的模糊查找功能,本身直接使用Sphinx配置mysql可以直接搭建一套模糊匹配的即可支持功能的实现。

    dylan_若水
  • C语言第五讲,语句 顺序循环选择.

    括号的内容我们给真假就行, 对应到高级语言中 则是 true (真) 和 false(假)

    IBinary
  • 一行代码引入 ViewPager 无限循环 + 页码显示

    (出处:https://cloud.tencent.com/developer/user/1148436/activities) 前序:   网上的这类 Vie...

    林冠宏-指尖下的幽灵
  • 【LeeCode 中等 字节 python3】567. 字符串的排列

    输入: s1 = “ab” s2 = “eidbaooo” 输出: True 解释: s2 包含 s1 的排列之一 (“ba”).

    不太灵光的程序员
  • Tomcat7基于Redis的Session共享

    Tomcat7/8基于Redis(Sentinel)的Session共享实战 笔者线上环境的多个tomcat需要共享session 基于epel源安装、启...

    shaonbean
  • python输入一个水仙花数(三位数) 输出百位十位个位实例

    以上这篇python输入一个水仙花数(三位数) 输出百位十位个位实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    砸漏

扫码关注云+社区

领取腾讯云代金券