Python基础之流程控制-if判断与while循环

目录

一、引子

二、顺序结构

二、分支结构

三、循环结构

 

一、引子

  流程控制就是控制流程的执行过程,任何情况下都只有三种情况(结构):顺序结构、分支结构、循环结构。

 

二、顺序结构

  从上到下依次执行流程

 

 

 

二、分支结构

  在执行过程中,遇到不同的条件,可能会执行不同的流程。比如看天气预报今天会不会下雨,会下雨就带伞,不下雨就不带伞。

  分支结构有三种用法:

    1.单if分支结构:

    单条件成立后执行的子代码块。

      age = 28
      if age < 29:   # 注意冒号:
        print('小姐姐好')   # 注意缩进

 

    2.if与else连用结构:

    if条件:条件成立之后执行的代码块;

    else条件:条件不成立之后执行的子代码块。

    两个条件,if 和 else 永远只会执行一个

      age = 30
      if age < 28: # 如果条件成立,就执行这个
        print('小姐姐好')
      else: # 如果条件不成立,就执行这个
        print('不好意思认错人了')

 

    3.if、elif、else连用结构:

    if条件:条件1成立之后执行的子代码块;

    elif条件:条件1不成立,条件2...条件N成立之后执行的子代码块;

    else 条件:以上所有条件都不成立之后执行的子代码块。

    多个条件,elif可以重复多次代表多个条件,三个条件永远只会执行其中一个

      age = 70
      if age < 13:   # 如果条件1成立就执行这个
        print('小朋友好')
      elif age < 28:   # 如果条件1不成立,条件2成立就执行这个
        print('小姐姐好')
      elif age < 60:   # 如果条件1,2都不成立,条件3成立就执行这个
        print('女士您好')
      else:    # 以上所有条件都不成立,就执行这个
        print('阿姨好')

    4.if嵌套结构:

    多层if条件嵌套,if下面还有if

      height = 172
      weight = 127
      is_rich = True
      is_success = True
      if height > 170 and weight <130 and is_rich:
        print('小哥哥加个微信')
        if is_success:
          print('约会去')
        else:
          print('不了,我有对象')
      else:
        print('这人真丑')         

 

 

 

 

 

三、while循环结构

  在执行过程中有些需要反复执行,需要配一定的条件,不能一直循环。

  while条件:条件成立之后循环执行的子代码块。

    while True:
    # 1.获取用户输入的用户名和密码
      username = input('username>>>:')
      password = input('password>>>:')
    # 2.判断用户名和密码是否正确
      if username == 'jason' and password == '123':
        print('来宾三位')
      else:
        print('没钱滚蛋')

  while + break
  break结束本层循环
  while True:
  # 1.获取用户输入的用户名和密码
     username = input('username>>>:')
     password = input('password>>>:')
   # 2.判断用户名和密码是否正确
     if username == 'jason' and password == '123':
       print('来宾三位')
   # 直接结束本层循环
      break
     else:
       print('去你妹的 没钱滚蛋')

  

  break本层的含义

  # while嵌套
  while True:
  # 1.获取用户输入的用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')
  # 2.判断用户名和密码是否正确
    if username == 'jason' and password == '123':
      print('来宾三位')
      while True:
        cmd = input('请输入您的指令>>>:')
  # 3.判断用户是否想退出
        if cmd == 'q':
          break
          print('正在执行您的指令:%s' % cmd)
      break
    else:
      print('去你妹的 没钱滚蛋')

 

  全局标志位

  # 标志位的使用
  flag = True
  while flag:
  # 1.获取用户输入的用户名和密码
  username = input('username>>>:')
  password = input('password>>>:')
  # 2.判断用户名和密码是否正确
  if username == 'jason' and password == '123':
  print('来宾三位')
  while flag:
  cmd = input('请输入您的指令>>>:')
  # 3.判断用户是否想退出
  if cmd == 'q':
  flag = False
  print('正在执行您的指令:%s' % cmd)
  else:
  print('去你妹的 没钱滚蛋')

 

 

  小练习:猜年龄的游戏,用户可以有三次猜错的机会,如果过程中猜对了直接退出;

      三次机会用完之后提示用户是否继续尝试,如果是则再给三次机会,如果否则直接结束。

    方法1:

    # 1.正确数字18
    age = 18
    # 2.计数器:
    count = 0
    # 3.进入while循环:输入次数小于3
    while count < 3:
    # 4.获取用户输入,转换成整型
      guess = int(input('请输入您的猜想数字>>>:'))
    # 5.每输入一次则计数加1
      count += 1
    # 6.判断用户输入的数字与正确数字是否一致,如果不一致打印相应提示,猜对则break
      if guess > age:
        print('大了,请往小的猜')
      elif guess < age:
        print('小了,请往大了猜')
      else:
        print('猜对了')
        break
    # 7.从第四次开始,则询问是否继续,若是则重置计数,再给三次机会,若否则break
      if count == 3:
        i = input('是否继续尝试?(yes or no):')
        if i == 'yes':
        count = 0
      else:
        break

    方法2:

  # 1.定义真实年龄
  age = 18
  # 2.定义计数器
  count = 1
  while True:
  # 5.判断次数
  if count == 4:
  choice = input('是否继续尝试(y/n):')
  if choice == 'y':
  count = 1
  else:
  print('欢迎再来')
  break
  # 3.获取用户输入并转成整型
  guess_age = int(input('请输入您的猜测数字>>>:'))
  # 4.猜测
  if guess_age < age:
  print('小了')
  elif guess_age > age:
  print('大了')
  else:
  print('猜对了')

  # 猜对了就结束
  break

  # 每次输入数次都加1
  count += 1

 

 

 

 

 

 

 

 

 

posted @ 2021-11-07 09:41  90啊  阅读(366)  评论(0编辑  收藏  举报