当前位置 : 主页 > 编程语言 > python >

【Python基础学习】第五节 循环与判断

来源:互联网 收集:自由互联 发布时间:2022-10-26
Python基础学习之循环与条件语句 1. while 循环 1.1 while 循环的基本格式 while 循环基本分为以下几步: 在while循环前,设置条件的初始值; while 循环, 格式为:while 条件:, 条件一般与初

Python基础学习之循环与条件语句

1. while 循环

1.1 while 循环的基本格式

while 循环基本分为以下几步:

  • 在while循环前,设置条件的初始值;
  • while 循环, 格式为:while 条件:, 条件一般与初始值有关,句尾的冒号一定要有,否则会报错;
  • 进入while 循环体内部,定义需要重复的代码;
  • 在代码后,处理循环条件;
  • 注意:

  • 整个while 循环是一个完整的代码块;
  • 循环结束后,初始条件改变后的数值还是存在的;
  • 死循环,忘记在循环体内部处理循环条件的时候,就会出现死循环;
  • # while 循环基本格式 i = 0 # 初始条件设置 while i<5: # while + 判断条件 + : 冒号一定要有 print('这是我第%d次打印!'%i) # 需要重复执行的代码 i +=1 # 条件处理,不加这句就会出现死循环; 对应注意点2 print('执行完毕!') print(i) # 此时 i 的值变为了5;对应注意点3

    1.2 while 循环举例

    计算 0 ~ 100 之间所有数字的累计求和结果

    # 计算 0 ~ 100 之间所有数字的累计求和结果 result = 0 # 0. 循环体外定义一个变量,存储最后的结果 i = 0 # 1. 定义循环初始条件 # 2. 开始循环 while i <= 100: result += i # 每一次循环,都让 result 这个变量和 i 这个计数器相加 i += 1 # 处理条件 print("0~100之间的数字的累计求和结果 = %d" % result) # 输出结果:0~100之间的数字的累计求和结果 = 5050

    1.3 while 循环的嵌套

    while 循环支持嵌套,请参考下面例子:

    打印 9*9 乘法表

    完成 99乘法表分为两步,第一步:确定 每个乘法的位置; 第二部:在对应位置输出对应乘法式;

    # 99乘法表 # 第一步:确定乘法等式的位置 i = 0 while i<10: print("*-*=* " *i,) i+=1

    输出:

    *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* # 第二步:加入一个while 循环,修改换行方式; i = 1 while i < 10: j = 1 while j <= i: print("%d X %d = %d " % (i, j, i * j), end=' ') j += 1 print('') i += 1

    输出:

    1 X 1 = 1 2 X 1 = 2 2 X 2 = 4 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 4 X 1 = 4 4 X 2 = 8 4 X 3 = 12 4 X 4 = 16 5 X 1 = 5 5 X 2 = 10 5 X 3 = 15 5 X 4 = 20 5 X 5 = 25 6 X 1 = 6 6 X 2 = 12 6 X 3 = 18 6 X 4 = 24 6 X 5 = 30 6 X 6 = 36 7 X 1 = 7 7 X 2 = 14 7 X 3 = 21 7 X 4 = 28 7 X 5 = 35 7 X 6 = 42 7 X 7 = 49 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64 9 X 1 = 9 9 X 2 = 18 9 X 3 = 27 9 X 4 = 36 9 X 5 = 45 9 X 6 = 54 9 X 7 = 63 9 X 8 = 72 9 X 9 = 81

    1.4 while 循环的else语句

    else 语句最常见于 if 语句,else 语句的意思是:上面紧挨的一个循环或者判断结束后,紧接着执行的语句,在while循环中的举例如下: 注意:else 语句也是循环体的一部分,这是在不满足条件时才执行;

    i = 0 while i<5: print('%d 小于五'%i) i +=1 else: print('%d 等于五'%i) # 当 while 条件不满足时,执行;

    输出:

    0 小于五 1 小于五 2 小于五 3 小于五 4 小于五 5 等于五

    2. for 循环

    for 循环非常常用,for 循环可以遍历任何序列的项目,比如:列表,字典,字符串等;

    2.1 for 循环的基本格式

    # for 循环 for i in [1,2,3,4]: # 以列表为例; # 注意点: # 1. for 后面的变量可以是任意合法的变量名; # 2. 后面的循环体内,i 代表当前的循环值; # 3. 尾部的冒号一定要有; print(i) # 循环内容 else: print("for 循环结束!") # 当循环结束时,调用else 语句;

    输出:

    1 2 3 4 for 循环结束!

    2.2 与range(), len() 配合;

    2.2.1 与 range() 配合,遍历数字序列 range() 可以生成数列,我们可以指定数列的起始值,终止值,步长;定义方式:range(起始值,终止值,步长),我们通过for循环将range() ,生成的数列打印出来:

    for i in range(2,5): print(i,end=' ') # end=' ',打印以空格结尾,可以输出到一行,输出:2 3 4 print('') # 换行 for i in range(1, 10, 2): print(i,end=' ') # 输出:1 3 5 7 9

    2.2.2 与 range(),len() 配合,遍历字符串,列表,字典等;

    s = [100,200,300] for i in range(len(s)): print('列表中的第%s个数为:%s' %(i,s[i]))

    输出:

    字典中的第0个数为:100 字典中的第1个数为:200 字典中的第2个数为:300

    3. continue语句 & break语句 & pass 语句

    3.1 continue语句 & break语句 的区别

    在这里插入图片描述 以上例子的执行结果为:

    # 使用 continue 的运行结果: 4 3 1 0 循环结束。 # 使用 break 的运行结果: 4 3 循环结束。

    3.2 pass语句

    为保证程序结构的完整性,我们会在一些时候使用pass语句; pass 语句是一个空语句,只是一个占位语句的存在;例如,当你定义一个函数的时候,还没有想好函数该如何书写;为避免程序报错,这时可以使用pass语句;举例:

    def func(a): pass # pass 占位语句,执行该函数时执行pass语句;

    4. if 条件判断

    4.1 if 语句的基本格式

    # if 语句 if 1 < 2: # 条件为真! print('条件为真,执行!') else: print('条件为假!') # 输出:条件为真,执行! if 0 > 10: # 条件为假! 执行else语句 print('条件为真,执行!') else: print('条件为假!') # 输出:条件为假!

    注意:

  • 条件是否成立,就是将条件转化成布尔类型,真则成立,假则不成立;
  • else 语句不是必须的,没有else 语句也可以;
  • if 后面的冒号 必不可少;
  • 4.2 elif 语句的基本格式

    有时,我们需要判断多种条件,此时可以使用 elif 语句,基本格式如下:

    if 条件语句1: 执行语句1…… elif 条件语句2: 执行语句2…… elif 条件语句3: 执行语句3…… else: 执行语句4…… # 前面的条件全部不成立时,执行else语句;

    注意:

  • python 并不支持switch 语句,所以只能用 elif 来实现;
  • 条件语句中可以使用 and, or ;举例如下:
  • l=[1,7,12,26,15] for i in range(len(l)): print('当前值为:%s'%l[i]) if l[i] < 5: print('我是一个小于(-∞,5)的数字') elif l[i]<10: print('我是一个介于[5,10)之间的数字') elif l[i]<15: print('我是一个介于 [10,15) 之间的数字') else: print('我大于等于15!')

    问题点:以上代码,可以实现功能,但是有一个问题,就是条件的位置如果更换了,就会输出错误的结果;比如:

    l=[1,7,12,26,15] for i in range(len(l)): print('当前值为:%s'%l[i]) if l[i] < 5: print('我是一个小于(-∞,5)的数字') elif l[i] < 15: print('我是一个介于 [10,15) 之间的数字') elif l[i]<10: print('我是一个介于[5,10)之间的数字') else: print('我大于等于15!')

    这里更换了 elif l[i] < 15: 和 elif l[i]<10: 的位置,在数字7时,输出为:我是一个介于 [10,15) 之间的数字; 为避免这种问题,我们需要使用到 and 运算(or 运算的话,也是同理),代码变更为:

    # 改正代码 l=[1,7,12,26,15] for i in range(len(l)): print('当前值为:%s'%l[i]) if l[i] < 5: print('我是一个小于5 (-∞,5)的数字') elif l[i] < 15 and l[i] > 10: print('我是一个介于 [10,15) 之间的数字') elif l[i]<10 and l[i] > 5: print('我是一个介于[5,10)之间的数字') else: print('我大于等于15!')

    输出:

    当前值为:1 我是一个小于(-∞,5)的数字 当前值为:7 我是一个介于[5,10)之间的数字 当前值为:12 我是一个介于 [10,15) 之间的数字 当前值为:26 我大于等于15! 当前值为:15 我大于等于15!
    网友评论