• 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】


    1.0.0 Summary

    Tittle:【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】

    Style:Python

    Series:Python

    Since:2018-07-08

    End:2018-07-08

    Total Hours:30+

    Degree Of Diffculty:5

    Degree Of Mastery:5

    Practical Level:5

    Desired Goal:5

    Archieve Goal:3

    Gerneral Evaluation:3

    Writer:kingdelee

    Related Links:

    http://www.cnblogs.com/kingdelee/

    http://www.runoob.com/python3/python3-basic-syntax.html

    1.

    if 判断条件:
        执行语句……
    else:
        执行语句……
    
    flag = False
    name = 'luren'
    if name == 'python':         # 判断变量否为'python'
        flag = True          # 条件成立时设置标志为真
        print 'welcome boss'    # 并输出欢迎信息
    else:
        print name              # 条件不成立时输出变量名称
    
    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
    elif 判断条件3:
        执行语句3……
    else:
        执行语句4……
    
    num = 5     
    if num == 3:            # 判断num的值
        print 'boss'        
    elif num == 2:
        print 'user'
    elif num == 1:
        print 'worker'
    elif num < 0:           # 值小于零时输出
        print 'error'
    else:
        print 'roadman'     # 条件均不成立时输出

    由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

     
    # 例3:if语句多个条件
     
    num = 9
    if num >= 0 and num <= 10:    # 判断值是否在0~10之间
        print 'hello'
    # 输出结果: hello
     
    num = 10
    if num < 0 or num > 10:    # 判断值是否在小于0或大于10
        print 'hello'
    else:
        print 'undefine'
    # 输出结果: undefine
     
    num = 8
    # 判断值是否在0~5或者10~15之间
    if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
        print 'hello'
    else:
        print 'undefine'
    # 输出结果: undefine

    你也可以在同一行的位置上使用if条件判断语句,如下实例:

     
    var = 100 
     
    if ( var  == 100 ) : print "变量 var 的值为100" 
     
    print "Good bye!"

    Python 循环语句

    while循环:

    count = 0
    while (count < 9):
       print 'The count is:', count
       count = count + 1
     
    print "Good bye!"
    i = 1
    while i < 10:   
        i += 1
        if i%2 > 0:     # 非双数时跳过输出
            continue
        print i         # 输出双数2、46810
     
    i = 1
    while 1:            # 循环条件为1必定成立
        print i         # 输出1~10
        i += 1
        if i > 10:     # 当i大于10时跳出循环
            break

    无限循环

    var = 1
    while var == 1 :  # 该条件永远为true,循环将无限执行下去
       num = raw_input("Enter a number  :")
       print "You entered: ", num
     
    print "Good bye!"

    循环使用 else 语句

    在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

     
    count = 0
    while count < 5:
       print count, " is  less than 5"
       count = count + 1
    else:
       print count, " is not less than 5"

    简单语句组

    类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

     
    flag = 1
     
    while (flag): print 'Given flag is really true!'
     
    print "Good bye!"

    Python for 循环语句

     

    for iterating_var in sequence:
       statements(s)
    for letter in 'Python':     # 第一个实例
       print '当前字母 :', letter
     
    fruits = ['banana', 'apple',  'mango']
    for fruit in fruits:        # 第二个实例
       print '当前水果 :', fruit

    通过序列索引迭代

    另外一种执行循环的遍历方式是通过索引,如下实例:

     
    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print '当前水果 :', fruits[index]
    
    当前水果 : banana
    当前水果 : apple
    当前水果 : mango

    循环使用 else 语句

    for num in range(10,20):  # 迭代 1020 之间的数字
       for i in range(2,num): # 根据因子迭代
          if num%i == 0:      # 确定第一个因子
             j=num/i          # 计算第二个因子
             print '%d 等于 %d * %d' % (num,i,j)
             break            # 跳出当前循环
       else:                  # 循环的 else 部分
          print num, '是一个质数'
    rows = int(raw_input('输入列数: '))
    i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数
    #等腰直角三角形1
    print "等腰直角三角形1"
    for i in range(0, rows):
        for k in range(0, rows - i):
            print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
            k += 1
        i += 1
        print "
    "
     
    #打印实心等边三角形
    print "打印空心等边三角形,这里去掉if-else条件判断就是实心的"
    for i in range(0, rows + 1):#变量i控制行数
        for j in range(0, rows - i):#(1,rows-i)
            print " ",
            j += 1
        for k in range(0, 2 * i - 1):#(1,2*i)
            if k == 0 or k == 2 * i - 2 or i == rows:
                if i == rows:
                    if k % 2 == 0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格
                        print "*",
                    else:
                        print " ", #注意这里的",",一定不能省略,可以起到不换行的作用
                else:
                   print "*",
            else:
                print " ",
            k += 1
        print "
    "
        i += 1
     
    #打印菱形
    print "打印空心等菱形,这里去掉if-else条件判断就是实心的"
    for i in range(rows):#变量i控制行数
        for j in range(rows - i):#(1,rows-i)
            print " ",
            j += 1
        for k in range(2 * i - 1):#(1,2*i)
            if k == 0 or k == 2 * i - 2:
                print "*",
            else:
                print " ",
            k += 1
        print "
    "
        i += 1
        #菱形的下半部分
    for i in range(rows):
        for j in range(i):#(1,rows-i)
            print " ",
            j += 1
        for k in range(2 * (rows - i) - 1):#(1,2*i)
            if k == 0 or k == 2 * (rows - i) - 2:
                print "*",
            else:
                print " ",
            k += 1
        print "
    "
        i += 1
    #实心正方形
    print "实心正方形"
    for i in range(0, rows):
        for k in range(0, rows):
            print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
            k += 1
        i += 1
        print "
    "
     
    #空心正方形
    print "空心正方形"
    for i in range(0, rows):
        for k in range(0, rows):
            if i != 0 and i != rows - 1:
                if k == 0 or k == rows - 1:
                    #由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离
                    print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用
                else:
                     print "   ", #该处有三个空格
            else:
                print " * ", #这里*两侧加了空格
            k += 1
        i += 1
        print "
    "
    输入列数: 4
    等腰直角三角形1
     *   *   *   *  
    
     *   *   *  
    
     *   *  
    
     *  
    
    打印空心等边三角形,这里去掉if-else条件判断就是实心的
            
    
          * 
    
        *   * 
    
      *       * 
    
    *   *   *   * 
    
    打印空心等菱形,这里去掉if-else条件判断就是实心的
            
    
          * 
    
        *   * 
    
      *       * 
    
    *           * 
    
      *       * 
    
        *   * 
    
          * 
    
    实心正方形
     *   *   *   *  
    
     *   *   *   *  
    
     *   *   *   *  
    
     *   *   *   *  
    
    空心正方形
     *   *   *   *  
    
     *           *  
    
     *           *  
    
     *   *   *   *  

    Python 循环嵌套

     

    Python for 循环嵌套语法:

     
    for iterating_var in sequence:
       for iterating_var in sequence:
          statements(s)
       statements(s)

    Python while 循环嵌套语法:

     
    while expression:
       while expression:
          statement(s)
       statement(s)
    以下实例使用了嵌套循环输出2~100之间的素数:
    
    
    i = 2
    while(i < 100):
       j = 2
       while(j <= (i/j)):
          if not(i%j): break
          j = j + 1
       if (j > i/j) : print i, " 是素数"
       i = i + 1
    

    Python pass 语句

     

    pass 不做任何事情,一般用做占位语句。

    # 输出 Python 的每个字母
    for letter in 'Python':
       if letter == 'h':
          pass
          print '这是 pass 块'
       print '当前字母 :', letter
    当前字母 : P
    当前字母 : y
    当前字母 : t
    这是 pass 块
    当前字母 : h
    当前字母 : o
    当前字母 : n

     

      

  • 相关阅读:
    【拓扑排序】【堆】CH Round #57
    【数论】【筛法求素数】【欧拉函数】bzoj2818 Gcd
    【数论】【枚举约数】【欧拉函数】bzoj2705 [SDOI2012]Longge的问题
    【暴力】vijos P1897 学姐吃牛排
    【kruscal】【最小生成树】【并查集扩展】bzoj3714 [PA2014]Kuglarz
    【set】bzoj2761 [JLOI2011]不重复数字
    【尺取法】【Multiset】bzoj1342 [Baltic2007]Sound静音问题
    【神奇の做法】bzoj2456 mode
    【博弈论】bzoj2463 [中山市选2009]谁能赢呢?
    【set】bzoj3715 [PA2014]Lustra
  • 原文地址:https://www.cnblogs.com/kingdelee/p/9284498.html
Copyright © 2020-2023  润新知