当前位置:脚本大全 > > 正文

pythonfor循环嵌套if语句(Python基础教程之if判断,while循环,循环嵌套)

时间:2021-10-13 00:31:11类别:脚本大全

pythonfor循环嵌套if语句

Python基础教程之if判断,while循环,循环嵌套

if判断

判断的定义

 如果条件满足,就做一件事;条件不满足,就做另一件事;
 判断语句又被称为分支语句,有判断,才有分支;

if判断语句基本语法

if语句格式:

if 判断的条件:
    条件成立后做的事
    ...
...

代码缩进为一个tab键,或者四个空格,官方建议使用空格;但应注意,在python开发中,tab和空格不能混用!

判断年龄示例:

  • ?
  • 1
  • 2
  • 3
  • 4
  • # 判断是否成年,成年则可以进网吧
  • age = 19
  • if age>=18:
  •  print("你满了18岁,可以进网吧")
  • if及其缩进代码可以看成一个完整的代码块

    比较运算符简介

    运算符 描述
    == 比较两个操作数的值是否相等,相等则返回true,否则返回false
    != 比较两个操作数的值是否不相等,不相等则返回true
    >= 检查左操作数的值是否大于等于右操作数的值,成立则返回true
    <= 检查右操作数的值是否大于等于左操作数的值,成立则返回true
    < 检查右操作数的值是否大于左操作数的值,成立则返回true
    > 检查左操作数的值是否大于右操作数的值,成立则返回true

    注意,在python2.x中,<>和!=作用和效果一样;但在python3中,已经取消了<>这个比较符号。

    else语句

    if只能够用来 当条件满足时做某事,而else则用来当条件不满足时做另外的事。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • else语法格式:
  • if 判断的条件:
  •  条件成立后应该做的事
  • else:
  •  条件不成立时应该做的事
  • 判断年龄改进版

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • age = 18
  • if age>=18:
  •  print("已成年,可以进网吧")
  •  print("欢迎来到xxx网吧")
  • else:
  •  print("未成年,请以后再来")
  • print("慢走") # 无论条件是否满足,都会执行
  • 控制台输入年龄示例

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • age = int(input("请输入你的年龄:"))
  • if age>=18:
  •  print("已成年,可以进网吧")
  •  print("欢迎来到xxx网吧")
  • else:
  •  print("未成年,请以后再来")
  • print("慢走")
  • 应注意的是,控制台输入的被python解释器认为是字符串,字符串不能与数字比较,应该现将从控制台输入的年龄转换成数字;

    if,else及其各自的缩进代码可以看成一个完整的代码块;
     虽然他们并不能折叠成一个代码块,但其实就是,之所以各自折叠的原因是因为它们各自是局部代码;

    逻辑运算符

    逻辑运算符简介

     逻辑运算符的使用:当需要同时判断多个条件是否成立以执行后续的代码时
     与或非,与或是用来连接条件的,非不连接条件,是用来对条件取反的;

    and 与

    条件1 and 条件2

    必须两个条件同时满足,才是真,返回true;
     只要有一个条件不满足,就是假,返回false。

    or 或

    条件1 or 条件2

    两个条件只要有一个满足,就是真,返回true;
     只有两个条件都不满足,才是假,返回false。

    not 非

    not 条件

    非不连接条件,用来对条件取反;
    not使用场景:当希望 条件不满足时执行某件事情,可以用not;
     另外,如果是拼接复杂的逻辑计算时,也可能用到not。

    逻辑运算符使用示例

    示例1:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • # 逻辑判断年龄是否正确
  • age = 40
  • if age>=0 and age<=120:
  •  print("年龄正确")
  • else:
  •  print("年龄错误")
  • 示例2:

  • ?
  • 1
  • 2
  • 3
  • 4
  • # not判断公司员工
  • is_employee = false
  • if not is_employee:
  •  print("非本公司员工,禁止入内")
  • elif语句

    elif应用场景:希望判断多个条件,并且多个条件对应不同的处理方式时;
    elif中 同时判断多个条件,所有的条件是平级的。

    elif的语法:

    if 条件1:
        条件1满足时,就执行这里面的代码
    elif 条件2:
        条件2满足时,就执行这里面的代码
    elif 条件3:
        条件3满足时,就执行这里面的代码
    else:
        如果上述条件都不满足,就执行这里的代码

    elif应用示例

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • # 判断是否为女友的节日并作出相应动作
  • day = "birthday"
  •  
  • if day == "birthday":
  •  print("buy cake")
  • elif day = "valentine's day":
  •  print("buy rose")
  • elif day = "christmas eve":
  •  print("eat apple")
  • else:
  •  print("everyday is her holiday!")
  • if嵌套

    if嵌套的应用场景:用来判断多个有前后依赖的场景,在前一个条件满足的情况下,再额外增加条件判断时使用;

    if嵌套的语法:

    if 条件1:
        if 条件1.1:
            条件1.1满足时,就执行这里面的代码
        elif 条件1.2:
            条件1.2满足时,就执行这里面的代码
        else:
            如果上述条件都不满足,就执行这里的代码
    elif 条件2:
        条件2满足时,就执行这里面的代码
    elif 条件3:
        条件3满足时,就执行这里面的代码
    else:
        如果上述条件都不满足,就执行这里的代码

    火车站检票安检代码

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • # 有火车票后进入安检环节,没有票就不允许进,安检环节如果满足条件就进入,不满足就进行提醒
  • has_ticket = true
  • knife_length = 30
  • if has_ticket:
  •  print("检票完成,进入安检环节")
  •  if knife_length > 20:
  •  print("你携带的道具有 %d厘米,不符合规定,不允许上车!"%knife_length)
  •  else:
  •  print("安检成功,祝你旅途愉快")
  • else:
  •  print("没有票,不允许进入,请先购票")
  • 所学综合应用

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • # 开发一个剪刀石头布的人机对战游戏
  • import random
  •  
  • player = int(input("请选择你的出拳,只需输入数字:1.石头 2.剪刀 3.布))
  • computer = random.randint(1,3)
  • print("玩家选择的是%d,电脑选择的是%d"%(player, computer))
  • if ((palyer == 1 and computer == 2)
  •  or (palyer == 2 and computer == 3)
  •  or (palyer == 3 and computer == 1)):
  •  print("恭喜你,你赢了")
  • elif player == computer:
  •  print("平局,这么巧")
  • else:
  •  print("不好意思,你输了")
  • 一行过长代码的换行

     原来:

  • ?
  • 1
  • 2
  • if (palyer == 1 and computer == 2) or (palyer == 2 and computer == 3) or (palyer == 3 and computer == 1):
  •  print("你赢了")
  • 换行:

  • ?
  • 1
  • 2
  • 3
  • 4
  • if ((palyer == 1 and computer == 2)
  •  or (palyer == 2 and computer == 3)
  •  or (palyer == 3 and computer == 1)):
  •  print("你赢了")
  • while循环的基本使用

    程序的三大流程

    程序只有三个流程,顺序,分支,循环
     从上到下,顺序;
     条件判断,分支;
     特定代码重复执行,循环;

    while语句基本语法
    初始条件(例如 i=1)
    while 条件:(例如 i<=5)
        满足条件时做的事(xxx)

        处理条件(例如 i=i+1)
    循环结束后做的事(xxx)

    第一个while循环示例

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • i =1
  • while i<=5:
  •  print("hello python")
  •  i = i+1
  • print("循环结束")
  • 注意,循环结束后,之前定义的计数器条件的数值依旧是存在的;

    死循环:没有对计数器进行处理,导致程序一直在循环部分执行,无法跳出;

    python中的赋值运算符

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • i += 1 ---> i = i+1
  •  -=
  •  i /= 2 ---> i = i/2
  •  *=
  •  //=
  •  %=
  •  **=
  • 注意,赋值运算符之间不能有空格;

    程序计数从0开始

    自然计数法,从1开始,符合人的习惯
     程序计数法,从0开始,几乎所有的语言都是如此

    循环计算示例

    循环计算思路分析
     先在外面定义一个变量用来保存计算结果;
     每循环一次就更新一下变量的计算结果。

    示例1:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • # 0到100数字累加
  • i = 0
  • sun = 0
  • while i <= 100:
  •  sum += i
  •  i += 1
  • print("循环结束,0到100的求和结果是%d" % sum)
  • 示例2:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • # 偶数求和之计算结果
  • i = 0
  • sum = 0
  • while i <= 100:
  •  if i%2 == 0:
  •  sum += i
  •  i += 1
  • print("循环结束,0到100的求和结果是%d" % sum)
  • break和continue

    break和continue的使用场景

    break和continue是专门在循环中使用的关键字
    break 某一条件满足时,退出循环,不再执行后续重复的代码
    continue 某一条件满足时,不执行后续的重复代码
    break和continue只对当前所在循环有效
    break打断整个循环
    continue打断一次小循环

    break代码演练

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • i = 0
  • while i<10:
  •  if i == 3:
  •  break
  •  print(i)
  •  i+=1
  • continue代码演示

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • i = 0
  • while i<10:
  •  if i == 3:
  •  # 在循环中,使用continue之前,需确认循环的计数是否需要修改,否则很容易造成死循环。
  •  i += 1
  •  continue
  •  print(i)
  •  i+=1
  • 循环嵌套

    循环嵌套语法

    while 条件1:
        条件满足时,做的事...

        while 条件2:
            条件满足时,做的事...

            处理条件2
        处理条件1

    print函数end参数的作用

    默认情况下,print函数会在结尾自动增加换行;而用end参数的话,可以用end指定的内容替换换行,比如空格,就是调整print函数不换行;再比如end="---",就是在添加end的print输出语句和下一个输出语句之间不换行且添加---

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • print("1")
  • print("2")
  •  
  • print("1", end="")
  • print("2")
  •  
  • print("1", end="---")
  • print("2")
  • 循环嵌套使用案例

    案例1.打印五行小星星

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • row = 1
  • while row <= 5:
  •  # 每一行要打印的小星星数量和当前行数是一样的
  •  # 增加一个小循环,专门负责当前行中,每一列的小星星输出
  •  col = 1
  •  while col <= row:
  •  print("*", end="")
  •  col += 1
  •  print("")
  •  row += 1
  • 重点看其中的思路!

    案例2.九九乘法表案例

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • row = 1
  • while row <= 9:
  •  col = 1
  •  while col <= row:
  •  # print("*", end="")
  •  # print("9 * 9 = 81", end=" ")
  •  # print("9 * %d = 81" % row, end=" ")
  •  # print("%d * %d = %d" % (col, row, col*row), end=" ")
  •  print("%d * %d = %d" % (col, row, col*row), end="\t") # 加\t的原因是,为了对齐美观
  •  col += 1
  •  print("")
  •  row += 1
  • 字符串中的转义字符

    转义字符 描述
    \ 反斜杠符号
    ' 单引号
    " 双引号
    \n 换行
    \t 横向制表符
    \r 回车

    t在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐;
     制表符的作用是在不适用表格的情况下在垂直方向按列对齐文本;

    \n在控制台输出一个换行符。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • print("1 2 3")
  • print("10 20 30"标签:

    猜您喜欢