20201102 第五堂 条件控制语句

20201102 第五堂 条件控制语句

条件运算符

  • 形式:语句1 + if + 表达式 + else + 语句2
    如果表达式为True,则结果为语句1
    如果表达式为False,则结果为语句2

  • 示例:
    a = 10
    b = 20
    print(‘a的值比较大’) if a>b else print(‘b的值比较大’)
    结果:b的值比较大

    #求a和b之间的最大值
    a = 30
    b = 40
    m = a if a > b else b
    print(m)
    结果:40
    
  • 练习:求a和b和c之间的最大值
    #求a和b和c之间的最大值
    a = 30
    b = 40
    c = 50
    m = a if a > b else b
    m = b if b > c else c
    print(m)
    结果:50

运算符的优先级

  • 非布尔值的语或运算(比较优先级)
    a = 2 or 3 and 4
    print(a)
    结果:2
    说明:and的优先级比or高

流程控制语句

  • if语句

    • 形式:if + 表达式:print ( )
      注意:默认情况下,if 语句只会作用于紧跟其后的一个print()。True则执行,False则不执行
      num = 50
      if num > 20: print(‘num比20大’)
      结果:num比20大
  • 如果希望if 语句可以控制多条语句,则可以在if后面跟着一个代码块
    什么是代码块?:就是一种为代码的分组机制,代码块以缩进开始


语法 :
if 条件表达式:
代码块


示例:

  if True:
      print('haha')
      print('hihi')
      print('hehe')
  结果:haha
             hihi
             hehe
       
  if False:
      print('haha')
      print('hihi')
      print('hehe')
  结果:无显示
  • input()函数
    接收一个输入数据,返回为str类型
    input( )函数输入时,需要等待函数运行,确定之后才会继续下面的运行
    **需要在下面红框输入用户名字才会继续执行下一步

    • 工资例子:
      TypeError: ‘>=’ not supported between instances of ‘str’ and ‘int’ 字符串不能和整数作比较

      #让用户输入一个工资
      方法一:
      value = input('请输入你的工资:')
      value = int(value)#将value强行变成数值类型
      
      方法二:
      value = int(input('请输入你的工资:'))
      
      #如果用户的工资大于2000就给一个提示 能养活自己了
      if value >= 2000:
          print('能养活自己了!!')
      结果:请输入你的工资:5000
           能养活自己了!!
      
  • If - Else 语句

    • 语法:
      if 条件表达式:
      代码块
      else:
      代码块

    • 示例:

      #让用户输入一个工资
      value = int(input('请输入你的工资:'))
      
      #如果用户的工资大于2000就给一个提示 能养活自己了
      if value >= 2000:
          print('能养活自己了!!')
      else:
          print('你该加油了!')
          
      结果:请输入你的工资:300
           你该加油了!
      
  • If-Elif-Else 语句
    只会有一个代码块执行


语法:
if 条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块

else:
代码块


  value = 30000
  
  if value >= 30000:
      print('有钱任性')
  elif value >= 20000:
      print('有钱真好')
  elif value >= 10000:
      print('月薪上万了')
  elif value >= 50000:
      print('还ok')
  elif value >= 2000:
      print('能养活自己了')
  else:
      print('你该加油了!')
      
  结果:有钱任性
  • 编写if - elif - else语句需要注意的问题
    下面情况是不会输入结果的,因为程序只会执行第一个语句之后就停止了。这种情况是因为代码编写不够清晰
    value = 8000

    if value >=2000:
        print('能养活自己了')
    elif value >= 5000:
        print('还ok')
    elif value >= 10000:
        print('月薪上万')
    else:
        print('你该加油了')
    

    修改:
    value = 8000

    if value >=2000 and value < 5000:
        print('能养活自己了')
    elif value >= 5000 and value < 10000:
        print('还ok')
    elif value >= 10000:
        print('月薪上万')
    else:
        print('你该加油了')
    
  • 练习:
    #根据指定的月份打印该月份所属的季节
    # 3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季
    month = 3

    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 == 12:
        print('冬季')
    else:
        print('月份不存在')
        
    结果:春季
    
  • If 语句练习
    我家的狗5岁了,5岁的狗相当于人多大的年龄呢?
    狗的前两年,每一年相当于人类的10.5岁,然后每增加1年就增加4岁
    那么5岁的狗就相当于人类的年龄是10.5 + 10.5 + 4 + 4 + 4 = 33
    *编写一个程序获取狗的年龄,然后通过程序来判断人的年龄是多少?如果用户输入的是负数,请提示一个错误的信息
    dog_age = float(input(‘请输入狗的年龄:’))
    human_age = 0

    #检查用户输入的年龄是否为负数
    if dog_age < 0:
        print('输入的年龄不正确!')
        
    #如果狗的年龄在2岁以下(包含2岁)
    elif dog_age <= 2:
        #直接用狗的当期那年龄乘以10.5
        human_age = dog_age * 10.5
        
    #如果狗的年龄在2岁以上
    else:
        #先计算2岁的年龄
        human_age = 2 * 10.5
        #再计算超过2岁年龄的部分,和2岁的再相加
        #可以打:human_age = human_age + (dog_age - 2) * 4
        human_age += (dog_age - 2) * 4 #等于上面,一样意思
    if dog_age > 0: #控制下面的程序出现的条件情况
        print(dog_age,'岁的狗,年纪相当于',human_age,'岁的人')
    
    结果:
    请输入狗的年龄:12
    12.0 岁的狗,年纪相当于 61.0 岁的人
    

    方法二:

    dog_age = float(input('请输入狗的年龄:'))
    human_age = 0
    if dog_age > 0: #控制下面的程序
        #如果狗的年龄在2岁以下(包含2岁)
        if dog_age <= 2:
        #直接用狗的当期那年龄乘以10.5
           human_age = dog_age * 10.5
        #如果狗的年龄在2岁以上
        else:
        #先计算2岁的年龄
           human_age = 2 * 10.5
        #再计算超过2岁年龄的部分,和2岁的再相加
        #可以打:human_age = human_age + (dog_age - 2) * 4
        human_age += (dog_age - 2) * 4 #等于上面,一样意思
        print(dog_age,'岁的狗,年纪相当于',human_age,'岁的人')
    #检查用户输入的年龄是否为负数
    if dog_age < 0:
        print('输入的年龄不正确!')
        
    结果:
    请输入狗的年龄:-3
    输入的年龄不正确!
    
  • While循环语句

    • 让指定的代码块重复执行

    • 死循环

    • 语法:
      while 表达式:
      代码块

    • 示例:

      i = 22
      while i < 20:
          print(i)
      结果:无结果
      
      i = 2
      while i < 20:
          print(i)
      结果:不停循环 2 
      
    • 循环的三要素:

      • 初始化表达式

      • 条件表达式

      • 更新条件表达式

        #1.初始化表达式 我们可以初始化一个变量
        i = 0
        #2.条件表达式 用来设置循环执行的条件
        while i < 10:
            i += 1
            print(i)
            #3.更新条件表达式 修改了初始化变量的值
            #i += 1 # i = i + 1
        else:
            print('我是else语句中的代码')
        

课后作业

  1. 用条件运算符找3个值中的最大值(不要用if语句)
  2. 求1000以内的所有水仙花数
    水仙花数指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1 ** 3 + 5 ** 3 + 3 ** 3
    = 153)
    153就是个水仙花数
  3. 获取用户输入的任意数,判断是否为质数?
    质数只能被1和它本身整除的数
  4. 把老师敲的代码敲三遍
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值