一、条件判断
    条件判断是程序实现自动化任务的基础,比如,当程序跟用户作交互时,程序可以根据用户输入的数据进行判断,从而执行不同的代码语句,在Python程序中,用 if 语句实现

    1. >>> a = 10
    2. >>> if a > 20 :
    3. print("这是满足if条件语句块的内容")
    4. print("不管if条件是否满足,都会执行")

    else 当if 条件不满足(False)时会执行else所属的子语句块,如果if 后面的条件为True则跳过else执行后续语句

    1. a = int(input("请输入你的体重:"))
    2. if a >= 120:
    3. print("你好重啊,要减肥了!")
    4. else:
    5. if a>=90 and a<120:
    6. print("标准体重,请继续保持哦!")
    7. else:
    8. print("你太瘦了要多吃点啊!")
    9. print("这句始终会执行")
    10. 请输入你的体重:120
    11. 你好重啊,要减肥了!
    12. 这句始终会执行

    Python是根据缩进来判断代码块包含关系的,如果 if 条件是 True ,就执行if下缩进的子语句
    elif 是 else if 的缩写,上面代码可以通过elif来简写

    1. a = int(input("请输入你的体重:"))
    2. if a >= 120:
    3. print("你好重啊,要减肥了!")
    4. elif a>=90 and a<120:
    5. print("标准体重,请继续保持哦!")
    6. else:
    7. print("你太瘦了要多吃点啊!")
    8. print("这句始终会执行")
    9. 请输入你的体重:120
    10. 你好重啊,要减肥了!
    11. 这句始终会执行

    注:if 语句执行顺序是从上往下判断,在当判断是True时,会执行这个条件的子语句,并忽略掉剩余的elif 和 else

    1. a = 50
    2. if a>40:
    3. print("第一个判断")
    4. elif a>20:
    5. print("第二个判断")
    6. else:
    7. print("第三个判断")
    8. # 第一个判断

    if 条件的简写

    1. if a:
    2. print("条件成立")

    当变量a是非零数值,非空列表或字符串,就判断条件为True,否则为False

    1. if 1:
    2. print("条件成立")
    3. else:
    4. print("条件不成立")
    5. # 条件成立
    6. if []:
    7. print("条件成立")
    8. else:
    9. print("条件不成立")
    10. # 条件不成立
    11. if "":
    12. print("条件成立")
    13. else:
    14. print("条件不成立")
    15. # 条件不成立
    16. if 0:
    17. print("条件成立")
    18. else:
    19. print("条件不成立")
    20. # 条件不成立

    二、循环
    让程序重复不停的做一件或几件事情就需要用循环
    for

    1. names = ["Jie","Yuan","Tim","Jay"]
    2. for name in names: # for name in names 就是循环把列表中每个元素代入变量name,然后执行for 下面缩进的语句
    3. print(name)
    4. # Jie
    5. # Yuan
    6. # Tim
    7. # Jay

    上面就是通过for循环不断执行print(name)语句
    例:计算 1+2+3+4+5+6+7+8+9 的和

    1. sum = 0
    2. for i in [1,2,3,4,5,6,7,8,9]:
    3. sum = sum + i
    4. print(sum)

    range( ) 函数,返回的是一个可迭代对象,非列表类型

    1. for i in range(0,5): # range(0,5)生成的序列是从0开始小于5的整数
    2. print(i)
    3. '''
    4. 0
    5. 1
    6. 2
    7. 3
    8. 4
    9. '''

    通过for遍历可迭代对象,通过 lis( ) 函数可转换为List

    1. l1 = list(range(0,5)) # range(0,5)可简写成range(5)
    2. print(l1)
    3. # [0, 1, 2, 3, 4]
    4. l2 = list(range(5))
    5. print(l2)
    6. # [0, 1, 2, 3, 4]

    任务1:生成一个1-100的列表
    任务2:通过for循环把l1中元素添加到l2中

    1. l1 = [1,2,3,4]
    2. l2 = ['a','b','c']
    3. for i in l1:
    4. l2.append(i)
    5. print (l2)
    6. # ['a', 'b', 'c', 1, 2, 3, 4]

    while循环
    只要条件满足就会不断循环,条件不满足时退出循环

    n = 10
    while n>0:
        print(n)
        n -= 1   # n = n - 1
    # 10,9,8,7,6,5,4,3,2,1
    
    n = 10
    while n>0:
        print(n)
        n += 1   # n>0条件永远为真,陷入死循环
    

    在while循环时要注意条件的边界值,以及条件是否为永真,否则会陷入死循环

    n = 10
    while n>0:
        n -= 1
        print(n)   
    # 9,8,7,6,5,4,3,2,1,0
    
    n = 10
    while n>0:
        print(n)
        n -= 1
    # 10,9,8,7,6,5,4,3,2,1
    

    比较上面两代码块,发现了什么要注意什么?
    break
    在循环中break语句可提前退出循环

    n = 10
    while n>0:
        print(n)
        n -= 1
    # 10,9,8,7,6,5,4,3,2,1
    
    n = 10
    while n>0:
        if n < 5:  # 如果n<5 执行break语句,提前退出循环
            break # 循环终止
        print(n)
        n -= 1
    # 10,9,8,7,6,5
    

    continue
    在循环中跳过当前循环,直接进入下一轮循环

    n = 10
    while n>0:
        n -= 1
        if n % 2 == 0: # 当n为偶数时执行continue,不执行continue后面的循环语句结束本轮循环,重                    新开始循环
            continue
        print(n)    
    # 9,7,5,3,1
    

    总结:break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
    如果程序陷入死循环,以pytharm中通过Ctrl+C退出程序,或者强制结束Python进程。
    任务:已知两list ,l1 = [‘1’, ‘b’ , ‘c’], l2 = [ ],使用while循环,把l1中的元素全部按l1的索引移到l2中,打印出的结果如下:

    l1:[]
    l2:['1', 'b', 'c']