美文网首页
05 条件控制语句

05 条件控制语句

作者: Chloris_0320 | 来源:发表于2020-08-31 18:07 被阅读0次

    05 条件控制语句

    1. 条件判断语句(if语句)

    • 执⾏的流程:
      if语句在执⾏时,会先对条件表达式进⾏求值判断,
      如果为True,则执⾏if后的语句
      如果为False,则不执⾏
    • 语法:
      if 条件表达式 :
      ...代码块
    • 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏
    • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
    • 代码块就是⼀种为代码分组的机制

    num = 60
    if num > 20:print('num比20大')
    结果:num比20大

    if True:
    ....print(123)
    ....print('haha')
    ....print('hello')
    结果:
    123
    haha
    hello

    num = 22
    if num > 20 and num < 40:
    print('num比20大,比40小')
    结果:num比20大,比40小

    num = 22
    if 30 < num < 40:
    print('num比20大,比40小')
    结果:(空)

    2. input() 函数

    • 该函数⽤来获取⽤户的输⼊
    • input()调⽤后,程序会⽴即暂停,等待⽤户输⼊
    • ⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏
    • ⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回

    例: 获取用户输入的用户名,如果用户名使python欢迎访问
    username = input('请您输入:')
    if username == 'python':
    ....print('欢迎访问')
    结果:若输入python,则会输出欢迎访问,若输入其他,则不会输出任何。

    3. if-else语句

    • 语法:
      if 条件表达式 :
      ....代码块
      else :
      ....代码块
    • 执⾏流程:
      if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断
    • 如果为True,则执⾏if后的代码块
    • 如果为False,则执⾏else后的代码块

    例:如果用户的工资大于2000 还可以了
    value = int(input('请输入你的工资:'))
    if value > 2000:
    ....print('还可以了')
    else:
    ....print('你该加油了兄弟!!')

    4. if-elif-else 语句

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

    value = 10000
    if value >= 30000:
    ....print('有钱任性')
    elif value >= 20000:
    ....print('有钱真好!')
    elif value >= 10000:
    ....print('哥们也月薪上万了')
    elif value >= 5000:
    ....print('工资还说的过去')
    elif value >= 2000:
    ....print('能养活自己了')
    else:
    ....print('老弟你该加油了!')

    value = 3000
    if value >= 2000 and value < 5000:
    ....print('能养活自己了')
    elif value >= 5000 and value < 10000:
    ....print('工资还说的过去')
    elif value >= 10000 and value <30000:
    ....print('哥们也月薪上万了')
    else:
    print('有钱任性')

    练习一:根据指定的月份打印出所属的季节
    3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季

    month = 120
    if month == 3 or month == 4 or month == 5:
    ....print(month,'春季')
    elif month == 6 or month == 7 or month == 8:
    ....print(month,'夏季')
    elif month == 9 or month == 10 or month == 11:
    ....print(month,'秋季')
    elif month == 12 or month == 1 or month == 2:
    ....print(month,'冬季')
    else:
    ....print('月份不存在')

    month = 13
    if month > 12 or month < 1:
    ....print('月份不存在') #先把不正确的月份排除
    elif 3 <= month <= 5:
    ....print(month, '春季')
    elif 6 <= month <= 8:
    ....print(month, '夏季')
    elif 9 <= month <= 11:
    ....print(month, '秋季')
    else:
    ....print(month, '冬季')

    练习二: 我家的狗5岁了,5岁的狗相当于人类的年龄是多大呢?
    狗的前两年的每一年相当于人类的10.5岁。然后每一年增加4岁
    那么5岁的狗相当于人类的年龄就是 10.5 + 10.5 + 4 + 4 + 4 = 33
    需求:获取用户输入的狗的年龄。然后提示人类的年龄是多大?如果用户输入的是负数提示错误信息



    5. while语句

    循环语句可以使指定的代码块重复指定的次数.
    循环语句分成两种,while循环 和 for循环

    语法:
    while 条件表达式 :
    ....代码块
    else:
    ....代码块

    例:
    while True: # 慎用,死循环
    ....print(1)


    练习:求1 - 100所有的偶数之和
    先找到100个数1 - 100
    判断 判断哪些是偶数
    求和运算


    6. 循环嵌套

    • Python 语⾔允许在⼀个循环体⾥⾯嵌⼊另⼀个循环。
    • 语法:
      while 表达式:
      ....while 表达式:
      ........代码块
      ....代码块

    for 变量 in 循环规则:
    ....for 变量 in 循环规则:
    ........ 代码块
    ....代码块

    练习1:打印如下一个图形
    ‘*****
    ’*****
    ‘*****
    ‘*****
    ‘*****

    i = 0
    while i < 5: # 外层循环控制图形的一个高度
    ....j = 0
    ....while j < 5: # 内层循环控制图形的一个宽度
    ........print('*',end='') # end='' 不换行
    ........j += 1
    ....print()
    ....i += 1

    练习2:打印如下图形
    ‘*
    **
    ‘***
    ‘****
    ‘*****

    分析:
    '* i = 0 j < 1 --> j < i + 1
    ** i = 1 j < 2 --> j < i + 1
    *** i = 2 j < 3 --> j < i + 1
    **** i = 3 j < 4 --> j < i + 1
    ***** i = 4 j < 5 --> j < i + 1

    i = 0
    while i < 5:
    ....j = 0
    ....while j < i + 1:
    ........print('*', end='')
    ........j += 1
    ....print()
    ....i += 1

    练习3:打印如下图形
    ‘*****
    ‘****
    ‘***
    **
    ‘*

    分析:
    ***** i = 0 j < 5 --> j < 5 - i
    **** i = 1 j < 4 --> j < 5 - i
    '*** i = 2 j < 3 --> j < 5 - i
    ** i = 3 j < 2 --> j < 5 - i
    '* i = 4 j < 1 --> j < 5 - i

    i = 0
    while i < 5:
    ....j = 0
    ....while j < 5 - i:
    ........print('*', end='')
    ........j += 1
    ....print()
    ....i += 1

    练习4:打印99乘法表


    结果:

    作业1:求1000以内所有的水仙花数
    指的是一个3位数 每个位数上的3次幂之和等于它本身
    例如 1 ** 3 + 5 ** 3 + 3 ** 3 = 153


    作业2:获取用户输入的任意数,判断其是否是质数?
    什么是质数 只能够被1和它本身整除的数就是质数 2 3 5 7 11 ... 97 1不是质数


    7. break和continue

    • break 可以⽤来⽴即退出循环语句,包括else语句



      结果:1

    • continue ⽤来跳过当次循环



      结果:
      1
      3
      4
      5
      6
      hello

    相关文章

      网友评论

          本文标题:05 条件控制语句

          本文链接:https://www.haomeiwen.com/subject/inxssktx.html