每天一篇总结,今天学习的是有关于流程控制的知识。

流程控制,顾名思义,在计算机运行中,程序是被某种控制方式按照某种流程或者规律来执行的。而python程序的运行,肯定也是按照某种规律在执行。这些规律可以分为顺序结构、分支结构、循环结构。顺序结构,在宏观上,逻辑上方代码一定比逻辑下方代码先执行,自上而下。分支结构,在今天学习的内容里就是if分支结构,这是需要条件来判断,并选择不同执行路线的执行规律。循环结构,就是指在做某些行为时,我们要给计算机重复执行的指令,即满足了某种条件或不满足某种条件,重复执行的指令,在这里有while循环与for循环。
一、if分支结构:
  1.if 条件:
        执行代码

eg:if age > 18:
               print("年龄大了")

2.if 条件:
          执行代码1
     else:
          执行代码2

eg:if age < 18:
             print("年龄还好")
         else:
             print("年龄大了")
  3.if 条件:
        执行代码1
     elif 条件2:
        执行代码2
  (else:
        执行代码3)
  注意:elif可以根据需求出现多次(代码层次方面要考虑条件的先后顺序);所有分支都可以根据需求决定是否有else结构,else结构就是条件(所有条件)不满足才去执行的分支。

4.if嵌套
         if 条件:
               if 条件:
                   执行代码1
               elif 条件:
                   执行代码2
               ...
               else:
                  执行代码n
               elif 条件:
               ...

注意:这任何结构中,当需要条件判断时就可以出现if分支结构。
  eg:if grade > 90:
            print('优秀')
            if input("进入体能测试:") == '通过':
                print("进入国家队")
       elif grade > 60:
            print('通过')
       else:
            print('开除')

二、while循环
         while 条件:
                循环体
       (else:
                 执行代码)
  注:else语句可以根据情况适时添加,else分支会在while循环正常结束(没有被break结束)时执行。
在while循环里,当条件满足时,就会执行循环体,下次循环开始,再去判断条件,若满足,继续循环,若不满足,结束循环。在使用while循环时,要注意有结束时的不满足的条件,否则循环一直执行,成为死循环。
  在循环的过程中,由于某种原因,不想继续执行循环,可以使用break与continue结束循环。break:完全结束一个循环,跳出循环体执行后面条件。continue:终止该循环下的此次循环,进入下次循环。在while循环里可以嵌套while循环,形成循环嵌套。
  注意:0,"",[],{},None可以被while及if这种需要条件判断的,转换为False,其他都是True。
  eg:c = 0
       while c < 10:
           c += 1
           if c == 5:
                break
           print(c)
      else:
           print('执行')

三、for循环
  for 循环得到的结果 in 被循环的容器:
             循环体
  for循环用来完成特定的循环需求。
  eg:for i in [1, 2, 3, 4, 5]:
                print(i)
  以上方循环举例,当第一次循环时,循环得到的结果i就是 被循环的容器[1, 2, 3, 4, 5]中第一个值1;再次循环,i会被重新赋值为列表中第二个值2,以此类推。在for循环中,若当次循环的结果不使用,在下次循环就会被覆盖,无法找回。当列表里的值被i全部赋值一遍后,循环自动结束。for循环中,不考虑死循环,但是有无限的容器。
  在此,学习range()函数,可以看出被循环的容器,可以帮助我们创建容器。
  range(开始被包含, 结束不被包含, 步长)
  eg: for i in range(5): # [0, 1, 2, 3, 4]
                  print(i)
  在range(5)中,默认开始为0,结束为5,步长为1。
  range(10,5,-1)可以看作列表 [10, 9, 8, 7, 6]。当步长为负数,可以从大值到小值获取区间。
  在for循环中,break与continue也适用于for循环,效果一样。
  eg:打印出九九乘法表
         for i in range(1,10):
             for j in range(1,i+1):
                  r='%sx%s=%s'%(j,i,i*j)
                  print(r,end=" ")
            print()

结果如下:

1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

初学python之路-day04的更多相关文章

  1. python之路:Day04 --- Python基础4

    本节内容 1.字符串格式化 2.迭代器和生成器 3.装饰器 4.Json & pickle 数据序列化 5.软件目录结构规范 一.字符串格式化 百分号式 %[(name)][flags][wi ...

  2. 初学python之路-day12

    本篇补上字符串的比较:按照从左往右比较每一个字符,通过字符对应的ascii进行比较 一.函数默认值的细节 # 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值 a ...

  3. 初学python之路-day10

    基础部分先告一段落,今天开始学习函数. 一.函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数         -- 现实中:很多问题要通过一些工具进行处理 => ...

  4. 初学python之路-day08前期总结

    # 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...

  5. 初学python之路-day08

    #学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...

  6. 初学python之路-day07-字符编码

    今天的博客主要关于字符编码,并对前几天学习的数据类型做些总结. 学习字符编码的目的:解决乱码问题. 应用程序打开文本文件的三步骤  1.打开应用程序  2.将数据加载到内存中  3.cpu将内存中的数 ...

  7. 初学python之路-day03

    我在前面的文章提到了变量的概念,这里详细介绍下变量的命名.变量名,只能是字母.数字及下划线 "_" 任意组成,而且不能以数字开头.在命名变量时,尽量避免与系统关键词重名,如:'an ...

  8. 初学python之路-day02

    python,诞生于1989年的圣诞,Guido van Rossum为了打发无聊,因此发明了python,并且开放了其源代码,使得这门语言在随后的几十年的发展的越来越广.现今,2.x版本已经在2.7 ...

  9. 初学python之路-day01

    第一天学习python,先了解到了进制之间的转换关系. 如二进制与十进制的转换,如1111转成十进制为15,1111从左向右可看出2^3+2^2+2^1+2^0为8+4+2+1=15.记住前8位1的二 ...

随机推荐

  1. 为什么Fourier分析?

    本文旨在给出Fourier分析的几个动机. 目录 波动方程 热导方程 Lapalce变换 求和公式 表示论 特征理论 参考资料 波动方程 考虑一维的波动方程最简单的边值问题$$u(x,t), x\in ...

  2. Java的selenium代码随笔(1)

    package ShareClass; import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;impor ...

  3. C#中使用JavaScriptSerializer类实现序列化与反序列化

    1.添加引用 JavaScriptSerializer类的使用需要引用System.Web.Extensions.dll文件,根据路径:C:\Program Files (x86)\Reference ...

  4. mysql截取函数substring_index()和right()用法

    ); 以.作为截取的分隔符. ); 从第2位开始截取,截取所有的. );

  5. Windows平台下载、安装、配置Apache全攻略

    本文介绍了如何在windows平台进行apache服务器的下载.安装和配置过程. 1.下载 首先进入apache for windows的官方下载地址[猛戳这里],依次在下列页面进行下载操作: 我这里 ...

  6. java垃圾回收GC

    垃圾回收时,暂停虚拟机运行 基础假设:大部分对象只存在很短的时间 对于新生代,Minor GC经常会发生 Major/Full GC会对老生代做GC 老生代GC采用Compact算法,移动形成完整的空 ...

  7. Euler Circuit UVA - 10735(混合图输出路径)

    就是求混合图是否存在欧拉回路 如果存在则输出一组路径 (我就说嘛 咱的代码怎么可能错.....最后的输出格式竟然w了一天 我都没发现) 解析: 对于无向边定向建边放到网络流图中add(u, v, 1) ...

  8. react创建组件的几种方式及其区别

    react创建组件有如下几种方式 ①.函数式定义的无状态组件 ②.es5原生方式React.createClass定义的组件   ③.es6形式的extends React.Component定义的组 ...

  9. Linux硬盘性能测试工具 - FIO

    1.安装:方法一:直接用指令yum -y install fio方法二:如果方法一不可行则,在官网http://freshmeat.net/projects/fio/下载fio的安装包.安装方法很简单 ...

  10. python之路day06--python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码

    python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = ...