Python第一周小结

经历了两个星期Linux运维基础的铺垫,这周我们正式开始了python的学习。经过第一周的各种挣扎以及反复训练,终于有所收获了一点东西。现在将第一周中学到的一个非常重要的算法技巧总结如下:

即:折半思想

例:给定一个不超过五位数的正整数,判断该数有几位数

Code1:                                                                                Code2:

a = int(input(‘Please enter number1: ‘))                            a=int((input”Please enter a number:”))

if a<10:                                                                                      if a >= 100:
  print(“yiweishu”)                                                                         if a >= 10000:
elif a<100:                                                                                           print(5)
  print(“liangweishu”)                                                                    elif a >= 1000:
elif a<1000:                                                                                         print(4)
  print(“sanweishu”)                                                                       else:
elif a<10000:                                                                                      print(3)
  print(“siweishi”)                                                                     else:
elif a<100000:                                                                                  if a >= 10:
  print(“wuweishu”)                                                                              print(2)
                                                                                                              else:
                                                                                                                   print(1)

       通过对比这两组简单的代码,我们发现右边的代码明显的使用了折半的思想。具体体现为当判断一个不超过五位数的正整数时,由于该数最大可能出现的位数是五位,因此找到判断的中间点,即100。从100先开始判断起,比100大即进入循环,否则不进入。直接缩小了匹配的范围,对于算法效率的提升有显著的效果。因此,在以后遇到查找匹配以及图形打印等具有对称性质的类型分析时,适当的通过折半提升算法效率,不失为一个很好的选择。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93070

(0)
guoxingxingguoxingxing
上一篇 2018-03-26 20:17
下一篇 2018-03-26 20:22

相关推荐

  • Linux上glob用于实现文件名的通配、IO重定向及管道

    Linux中所谓的通配是指,显示以指定条件为条件的文件;即通配的含义是指搜寻以已知条件为前提的目标文件。 常用文件通配符有: 文件通配符 含义 例子 * 任意长度的任意字符 如a*,搜寻所有以a为首的文件名的文件 ? 任意的单一字符 如a?,搜索所有的以a开头的两个字符的文件名的文件 [] 匹配指定范围内的任意的单个字符 如[a-z],匹配任意单个字母(不区…

    Linux干货 2017-04-04
  • linux目录分类和各个目录作用-2016-07-21

    linux目录分类和各个目录作用-2016-07-21 Linux安装以后出现的文件目录的作用:  文件系统的类型  LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。  普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi…

    Linux干货 2016-08-04
  • echo命令的简单用法和实例

        在CentOS 6.8版本下,通过实例的形式,展现选项和参数的灵活运用,可以简明的了解echo的用法。 一、语法:echo [SHORT-OPTION]… [STRING]… ;echo [选项]…[参数]       作用:将需要的内容输出到终端或者其他文件。 二、实例和选项参数的用法: (1)文本…

    Linux干货 2017-03-27
  • Linux入门之计算机组成及其功能

    计算机基础以及Linux基础

    2018-03-06
  • 第七周作业

    第七周 1,创建一个10G分区,并格式化为ext4文件系统;(1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@www ~]# fdisk /dev/sda <————-fd…

    Linux干货 2017-09-03
  • DNS实验

    本实验需的注意问题:      1、运营商的服务器需要更改根指向服务器地址      2、根服务器上的配置文件/etc/named.conf需要将"."根区域禁用;      3、更改区域数据库文件的属组为named;c…

    Linux干货 2016-12-12