zoukankan      html  css  js  c++  java
  • 条件语句和循环语句

    • 条件语句与循环语句的使用

    • If 语句的使用

    • 作用:

    • If的条件语句能够使得计算机通过判断目标条件的正确与否,来决定是否要执行接下来的程序代码进而控制程序的运行,满足则运行下方将要执行的命令或者操作,反之则程序无法运行
    • 格式:

    if 条件:   
        代码1   
        代码2   
        代码3   
        ...
    # 如果if条件满足要求,则依次执行以下代码1,代码2,代码3...直至没有代码可以运行则语句结束
    • if...else格式

    if 条件:   
    代码1   
    代码2   
    代码3   
    ...
    #满足if条件内容则依次运行上述代码
    else:   
    代码1   
    代码2   
    代码3
    ...
    #不满足则运行else语句后的代码
    • if...elif...elsee格式

    • if 条件1:
      代码1   
      代码2   
      代码3  
      ...
      # 进行条件1的逻辑判断,如果满足则运行代码1-3,并且程序就此终止,不执行下列操作,如果不满足则继续按照下方条件语句重新判断, 只要有一个满足就不再进行下面的条件语句的判断和操作执行。
      elif 条件2:   
      代码1  
      代码2   
      代码3   
      ...
      elif 条件3:   
      代码1   
      代码2   
      代码3   
      ......
      
      else:   
      代码1  
      代码2   
      代码3   
      ...
      #如果上述if语句都不符合,则运行else语句的代码例题如果考生成绩>=410,打印"该考生可以报考清北复交"
    • 例题

    • 如果考生成绩>=410,打印"该考生可以报考清北复交"

    • 如果考生成绩>=380 并且 成绩<410,打印"该考生可以报考985院校"

    • 如果考生成绩>=360 并且 成绩<380,打印"该考生可以报考211院校"

    • 其他情况:打印"该考生只能报考普通本科院校"

    • student_grade = int(input('please input your grade>>>>>>>>: '))
      if student_grade >= 410 :    
          print('该考生可以报考清北复交')
      elif student_grade >= 380 :   
          print('该考生可以报考985院校')
      elif student_grade >= 360 :    
          print('该考生可以报考211院校')
      else :    
          print('该考生只能填报普通本科院校')
    • today = input('What day is it?>>>>>>>>: ')
      if today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:        print('今天又要上班啦,好开心呢')
      elif today in ['Saturday','Sunday']:    
          print('舒服啦,又可以休息了')
      else:    
          print('亲,您输入的日期好像有问题呀')     
    • while循环语句的使用

    • 作用:

    • 用于计算机进行反复的程序运行和操作,比如登录qq时假如用户输错了密码,应用不可能会自动退出,反而会重新使得用户再来一次同样的输入qq账号和密码的操作,直至输对为止。如果我们希望程序代码能够反复被人们调用供我们便利地使用,则需要执行这一操作,比如说我们有一个比较复杂的函数,里面有自变量x,此时我们希望输入多次x值就算出函数的取值,这时我们可以使用while语句,而不是用完程序就停止了。

    • 格式

    • while 条件: 
      code 1    
      code 2    
      code 3    
      ...
      # 值得注意的是,如果此时条件容易达成True,code1、2、3若是程序自动运行的命令式代码而不是人机交互的代码,则会导致code1、2、3的反复运行反复循环,进而导致CPU处理压力的增大
    • QQ密码输错重新输入

    • my_qq_id = '1025100056'
      my_qq_password = 'zzcngc123456'
      while True:    
          identify = input('please input your id>>>>>>>>: ')    
          gogogog = input('please input your password>>>>>>: ')    
          if my_qq_id == identify and my_qq_password == gogogog:                    print('您已经成功登录了qq')        
              break    # 退出本次循环执行下一次代码
          else:        
               print('您的账号密码已错误,请重新输入')
      print('欢迎来到王者荣耀')
    • 1,2,3,5,6,7,8,9,10 不输出4

    • n = 0
      while n < 10:    
          n += 1    
          if n == 4:        
             continue    #注意continue的行距位置 也会影响到python的输出,因为这决定了                     这行代码与之前代码的从属关系
          print(n)
          
      # 值得注意的是continue千万不能最后一步再加,因为continue是跳出循环进行下一次循环,也就是说任何代码的输出都被终止,进行下一次循环,这样周而复始返回的只能是空空如也的结果。
    • while循环嵌套

    • 用户尝试三次后直接结束程序
    • n = 1
      name = 'zzc'
      word = '123'
      flag = True        #定义标志位 是个重要方法    
      while flag:    
          My_name = input('please input your id>>>>>>>: ')    
          My_password = input('please input your password>>>>>>>: ')    
          if name != My_name or word != My_password:       
              n += 1        
              if n < 4:
                  print('密码错误请重新输入')        
              else:            
                  flag = False    
          else:        
              print('您已成功登录')
      print('您已失去机会')
    • for循环

    • 一种不依赖索引取值的循环方式,而while是一种依赖索引(条件语句的正确与否判断)的语句方式,可不可以这么说for循环语句本身就是while语句以及代码的浓缩形式。
    • for循环的次数是由对象的个数决定的,而while的循环次数是由语句决定的。
    • for+break

    • country = ['China','America','England','Japanese','Germany','Russia']
      for name in country:    
          if name == 'Japanese':        
              break    
          print(name)
    • 九九乘法表

    • for n in range(1,10):    
          for j in range(1,n+1):        
          print('%s*%s=%s' %(n,j,n*j),end ='')    
      print()
  • 相关阅读:
    luogu P1073 最优贸易 |分层图最短路
    luogu P1901 发射站 |单调队列
    luogu P1759 通天之潜水 |背包
    luogu P1801 【黑匣子_NOI导刊2010提高(06)】|堆+分块
    bzoj1642[Usaco2007 Nov]Milking Time 挤奶时间*
    bzoj1616[Usaco2008 Mar]Cow Travelling游荡的奶牛*
    bzoj1623[Usaco2008 Open]Cow Cars 奶牛飞车*
    bzoj1612[Usaco2008 Jan]Cow Contest奶牛的比赛*
    bzoj1639[Usaco2007 Mar]Monthly Expense 月度开支*
    bzoj1601[Usaco2008 Oct]灌水*
  • 原文地址:https://www.cnblogs.com/ITchemist/p/11123553.html
Copyright © 2011-2022 走看看