05 - 条件控制语句

05 - 条件控制语句

1. 条件判断语句(if语句)
  • 执行流程

    • if 语句在执行时,会先对条件表达式进行求值判断
    • 如果为True,则执行if后的语句
    • 如果为False,则不执行
  • 语法

    • if 条件表达式:
      	代码块
      
  • 代码块: 代码块中保存一组代码,同一代码块中的代码,要么都执行要么都不执行

    • num = 50
      if num > 20:
          print(num,'num比20大')
          print('结束')
      # 50 num比20大
      # 结束
      
      num = 10
      if num > 20:
          print(num,'num比20大')
          print('结束')
      # 无返回值 ,都不执行
      
  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束

  • 代码块就是一种为代码分组的机制

2 . input()函数
  • 该函数用来获取用户的输入

  • input()调用后,程序会立即暂停,等待用户输入

  • 用户输入完内容后回车,程序才会继续向下执行

  • 用户输入完成以后,其输入的内容会以返回值的形式返回

    • content = input('请输入:')
      if content == 'python':
          print('验证成功')
          
      # 请输入:python
      # 验证成功
      
3 . if – else语句
  • 语法

    • if 条件表达式 :
      	代码块
      else :
      	代码块
      
  • 执行流程

    • if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断

    • 如果为True,则执⾏if后的代码块

    • 如果为False,则执⾏else后的代码块

    • value = int(input('请输入您的工资:'))
      if value >= 2000:	## 输入2500,条件判断为True,运行if语句	
          print('还行')
      else:				# 输入1500,条件判断为False,运行else语句
          print('太少')
      
      # 请输入您的工资:1500
      # 太少
      
      # 请输入您的工资:2500
      # 还行  
      
      
      
4 . if - elif - else 语句
  • 语法

    • if 条件表达式 :
      	代码块
      elif 条件表达式 :
      	代码块
      elif 条件表达式 :
      	代码块
      ........
      else :
      	代码块
      
  • 执行流程

    • if-elif-else语句在执⾏时,会自上向下依次对条件表达式进⾏求值判断
    • 如果表达式的结果为True,则执⾏当前代码块,然后语句结束
    • 如果表达式的结果为False,则继续向下判断,直到找到True为⽌
    • 如果所有的表达式都是False,则执⾏else后的代码块
  • 总结

    • if-elif-else中只会有⼀个代码块会执⾏

    • value = 1000
      if value >= 30000:
          print(value,'任性')
      elif value >= 20000:
          print(value,'不错')
      elif value >= 10000:
          print(value,'过万')
      elif value >= 5000:
          print(value,'一般')
      elif value >= 2000:
          print(value,'刚够')
      else:
          print(value,'吃糠')    
      # 1000 吃糠
      
      # 程序运行自上而下,当遇到条件为True,即返回当次结果,不进行后面的判断
      # 以下value满足所有判断条件,只返回第一个判断条件的结果
      
      value = 30000
      if value >= 2000:
          print(value,'刚好够')
      elif value >= 5000:
          print(value,'一般')
      elif value >= 10000:
          print(value,'过万')
      elif value >= 20000:
          print(value,'不错')
      # 30000 刚好够
      
    • 练习一 根据指定的月份打印该月份是几月,3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季

      • month = 4
        if month == 3 or month == 4 or month == 5 :
            print('春季')
        elif month == 6 or month == 7 or month == 8 :
            print('夏季')
        elif month == 9 or month == 10 or month == 11 :
            print('秋季')
        elif month == 12 or month == 1 or month == 2 :
            print('冬季')
        else:
            print('您输入的月份有误!!!')
        # 春季
        
        month = -4
        if month < 0 or month > 12:
            print('您输入的月份有误!!!')
        elif month >= 3 and month <= 5:
            print('春季')
        elif month >= 6 and month <= 8:
            print('夏季')
        elif month >= 9 and month <= 11:
            print('秋季')
        else:
            print('冬季')   
        # 您输入的月份有误!!!
        
    • 练习二

      • 获取用户输入狗的年龄 然后通过程序显示其相当于人的年龄

      • 狗的前两年每一年相当于人类的是10.5岁 ,然后每增加一年增加四岁

        5岁的狗相当于人的年龄 10.5+10.5+4+4+4 = 33

      • 如果用户输入的是负数,请提示输入有误

      • dog_age = float(input('请输入您家狗狗的年纪:'))
        person_age = 0
        if dog_age < 0:
            print('您输入的数据有误!!!')
        elif dog_age <= 2 :
            person_age = dog_age * 10.5
            print(f'您家狗狗的年纪相当于人的{person_age}岁!')
        else :
            person_age = 2 * 10.5 + (dog_age-2) * 4
            print(f'您家狗狗的年纪相当于人的{person_age}岁!')
        # 请输入您家狗狗的年纪:12
        # 您家狗狗的年纪相当于人的61.0岁!
        
        dog_age = float(input('请输入您家狗狗的年纪:'))
        person_age = 0
        if dog_age > 0:
            if dog_age <= 2 :
                person_age = dog_age * 10.5
            else:
                person_age =2 * 10.5 + (dog_age - 2 ) * 4 
            print(f'您家狗狗的年纪相当于人的{person_age}岁!')
        else:
            print('您输入的年纪有误 !!!')
        # 请输入您家狗狗的年纪:12
        # 您家狗狗的年纪相当于人的61.0岁!
        
5 - while 语句
  • 循环语句可以使指定的代码块重复指定的次数。循环语句分成两种,while循环和for循环

  • 语法

    • while 条件表达式 :
      	代码块
      else:
      	代码块
      
  • 执行流程

    • while语句在执行时,会先对while语句后面的条件表达式进行求值判断
    • 如果判断结果为True,则执行循环体的逻辑(代码块)
    • 循环体执行完毕之后,继续对条件表达式进行求值判断,以此类推
    • 知道判断结果为False .则终止循环,或执行else语句中的逻辑
  • while循环三要素

    • 1 . 初始化表达式,通过初始化表达式来初始化一个变量 例如 i = 0

      1. 条件表达式,用来设置循环的执行条件 例如 i < 3
      1. 更新条件表达式,修改初始化变量的值
    • i = 0			# 初始化表达式,通过初始化表达式来初始化一个变量 例如 i = 0
      while i < 3:	# 条件表达式,用来设置循环的执行条件 例如 i < 3
          i += 1		# 更新条件表达式,修改初始化变量的值
          print(i)
      else:
          print('结束')
      # 1
      # 2
      # 3
      # 结束
      
      i = 0
      while i < 3:    
          print(i)
          i += 1
      else:
          print('结束')
      # 0
      # 1
      # 2
      # 结束
      
      i = 0
      while i < 3:
          i += 1
          print(i,'hello')
      # 1 hello
      # 2 hello
      # 3 hello
      
    • 练习1 : 获取100以内所有的偶数

      • i = 0
        while i < 100:
            i += 1
            if  i % 2 == 0:
                print(i)
        
    • 练习2: 求100以内所有的偶数之和

      • i = 0
        j = 0
        while i < 100:
            i += 1
            if i % 2 ==0:
                j += i
        print(i,j)
        # 100 2550
        
6 - 循环嵌套
  • Python语言允许一个循环体里面嵌入另一个循环

  • 语法

    • while 条件表达式 :
      	代码块
      else:
      	代码块
          
      for 变量 in 循环规则:
      	for 变量 in 循环规则:
      		代码块
      	代码块
      
    • i = 0
      while i < 3:    
          j = 0   # 不能放在循环体外
          while j < 5:
              print('*',end = '')
              j += 1
          print()
          i += 1
      # *****
      # *****
      # *****
      
7 - break和continue
  • break 可以用来立即退出循环语句,包括else语句

    • i = 0
      while i < 5:
          i += 1
          if i == 3 :
              break
          print(i)
      else:
          print('hello')
      # 1
      # 2
      
  • continue 用来跳过当初循环

    • i = 0
      while i < 5:
          i += 1
          if i == 3 :
              continue
          print(i)
      else:
          print('hello')
      # 1
      # 2
      # 4
      # 5
      # hello
      
8 - 九九乘法表
  • 代码

    • for i in range(1,10):
          for j in range(1,i+1):
              print(f'{j}*{i}=',j*i,end='\t')
          print()
      # 输出
      1*1= 1	
      1*2= 2	2*2= 4	
      1*3= 3	2*3= 6	3*3= 9	
      1*4= 4	2*4= 8	3*4= 12	4*4= 16	
      1*5= 5	2*5= 10	3*5= 15	4*5= 20	5*5= 25	
      1*6= 6	2*6= 12	3*6= 18	4*6= 24	5*6= 30	6*6= 36	
      1*7= 7	2*7= 14	3*7= 21	4*7= 28	5*7= 35	6*7= 42	7*7= 49	
      1*8= 8	2*8= 16	3*8= 24	4*8= 32	5*8= 40	6*8= 48	7*8= 56	8*8= 64	
      1*9= 9	2*9= 18	3*9= 27	4*9= 36	5*9= 45	6*9= 54	7*9= 63	8*9= 72	9*9= 81	
      
    • i = 0
      while i < 10 :    
          j = 0
          while j < i :
              j += 1
              print(f'{j}*{i}=',j*i,end = '\t')       
          print()
          i += 1
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值