1. 程式人生 > >python -流程控制

python -流程控制

生成式 class 死循環 spa 題目 int 跳出循環 電話 可叠代對象

流程控制

循環結構(while)

  • 格式

    while 表達式:
        語句塊

    執行流程:當程序執行到while語句時,首先判斷表達式的真假。若表達式的值為真,則執行對應的語句塊,之後返回while繼續判斷表達式的真假;若表達式的值為假,則跳過語句塊,跳過while。

  • 說明:

    • 表達式:也叫循環條件

    • 語句塊:也叫循環體

    • 死循環:表達式的值一直為真,稱為死循環

    • break:結束循環的執行(立即跳出循環)

    • continue:結束本次循環,直接進入下次循環

    • else:結合while使用

    i = 1
    while i <= 10:
        print(i)
        i 
    += 1 break else: # 循環正常退出會執行,非正常(break)退出時不會執行 print(while正常結束)

循環結構(for-in)

  • 說明:也是一種循環結構,常用於遍歷可叠代的對象,如:字符串、列表、元組、字典、集合

  • 格式:

    for x in y:
        循環體

    執行流程:x依次表示y中的一個元素,遍歷完所有元素後結束循環。

  • 示例:遍歷字符串、列表、字典

列表生成式

  • 可叠代對象:列表、元組、字典等都是可叠代對象,可以遍歷的對象

  • range函數:

    print(range(10))
    print(range(0, 10))
    ?
    
    # range保存的是範圍內的連續整數的生成方式 # 可以遍歷 for i in range(10): print(i) ? # 可以轉換為列表 lt = list(range(10)) print(lt)

  • 列表生成式:可以快速生成有特定規律的列表

    # print([i for i in range(1, 11)])
    # print([i*2 for i in range(1, 11)])
    # print([i*i for i in range(1, 11)])
    # print([str(i) for i in range(1, 11)])
    print([i for i in range(1, 11) if
    i%2==0])

循環的嵌套

  • 循環能否嵌套?

    • 答:能

  • 示例:

    ‘‘‘
    從終端輸入一個整數n,打印如下圖形
    1
    1 2
    1 2 3
    1 2 3 4
    ...
    1 2 3 4 ... n
    ‘‘‘
    ?
    # 外層循環控制打印多少行
    i = 1
    while i < n+1:
        # 內層循環控制每一行的打印
        j = 1
        while j <= i:
            print(j, end=‘‘)
            j += 1
        i += 1
        print()

    練習:使用for-in完成上面的題目

    提示:可以結合range完成

練習:

  • 計算1~100之間所有整數的和

  • 打印字符A~Z

  • 循環輸入10個字符,小寫轉大寫,大寫轉小寫,其他字符不變,然後輸出

  • 將12345轉換為54321

  • 將12345轉換為‘12345‘,不要使用str

  • 將‘12345‘轉換為12345,不要使用int

  • 遍歷列表,打印:我叫name,今年age歲,家住dizhi,電話phone

    lt = [
        {name:小王, age:18, info:[(phone, 123), (dizhi, 廣州)]},
        {name:小芳, age:19, info:[(phone, 789), (dizhi, 深圳)]},
        {name:小杜, age:22, info:[(phone, 567), (dizhi, 北京)]},
        {name:小孟, age:28, info:[(phone, 000), (dizhi, 上海)]},
        {name:小喬, age:26, info:[(phone, 111), (dizhi, 河南)]},
    ]

  • 打印九九乘法表

  • 從終端輸入兩個整數m,n,打印m*n的表格,如:2,5,打印如下圖形

    1 2 3 4 5
    6 7 8 9 10

    ?

python -流程控制