for循環基礎知識


 

內容概要

  • while+continue‘

  • while+else

  • 死循環

  • for循環

  • 數據類型的內置方法(重點)

今日內容詳細

  一、while+continue

    # 1.使用while循環打印出0-10
    count = 0
    while count < 11:
    print(count)
    count += 1

                    

    # 2.使用while循環打印出0-10但是不打印4
    count = 0
    while count < 11:
    if count == 4:
    count += 1
    print(count)
    count += 1

                    

    """
    continue會讓循環體代碼直接回到條件判斷處重新判斷
    """

  二、while+else

    count = 0
    while count < 5:
    print(count)
    count += 1
    else:
    print(123) # 會執行else子代碼

                  

    count = 0
    while count < 5:
    if count == 3:
    break
    print(count)
    count += 1
    else:
    print(123) # 不會執行else子代碼

                  

    """
    當while循環沒有被人為中斷(break)的情況下才會走else
    """

  三、死循環

    for循環能做到的事情 while循環都可以做到
    但是for循環語法更加簡潔,並且在循環取值問題上更加方便

    # name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
    # count = 0
    # while count < 5:
    # print(name_list[count])
    # count += 1

                  

    # for循環
    for name in name_list:
    print(name)

                  

    """
    for 變量名 in 可迭代對象: # 字符串、列表、字典、元組、集合
    for循環體代碼
    ps:變量名如果沒有合適的名稱,可以使用i,j,k.,v,item等
    """

    # name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
    # 循環取出列表的每一個元素並打印
    # while實現
    # count = 0
    # while count < 5:
    # print(name_list[count])
    # count += 1

    # for循環
    # for name in name_list:
    # print(name)

                    

    # for循環字符串
    # for i in 'hello world':
    # print(i)

                      

    # for循環字段:默認只能拿到K
    d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
    for i in d:
    print(i, i[k])

                    

  四、range關鍵字

    # 關鍵字range

    # 第一種情況:一個參數 從0開始 顧頭不顧尾

    # for i in range(10):

    #print(i)

                      

    # 第二種情況:兩個參數 自定義起始位置 顧頭不顧尾

    #for i in range(4, 10):

    # print(i)

                      

    # 第三種情況:三個參數 第三個數字用來控制等差值

    # for i in range(4, 20, 5):

                    

    """
    擴展知識
    https://movie.douban.com/top250 第一頁
    https://movie.douban.com/top250?start=25&filter= 第二頁
    https://movie.douban.com/top250?start=50&filter= 第三頁
    https://movie.douban.com/top250?start=75&filter= 第四頁

    https://movie.douban.com/top250?start=0&filter= 推測第一頁
    """
    base_url = "https://movie.douban.com/top250?start=%s&filter="
    for i in range(0, 250, 25):
    print(base_url % i)

                    

    # range在不同版本的解釋器中 本質不同

    在python2.X中染個會直接生成一個列表

    在python2.X中有一個xrange也是迭代器(老母豬)

    在python3.X中range是一個迭代器(老母豬) 節省內存空間

    '''python2.x中xrange就是python3.x里面的range'''

  五、for+break

    # break功能也是用於結束本層循環

    for i in range(10):

    if i == 4: 

    break

    print(i)

  六、for+continue

    continue功能也是用於結束本次循環
    for i in range(10):
    if i == 4:
    continue
    print(i)

  七、for+else

    else也是在for循環正常結束的情況下才會執行

    for i in range(10):
    if i == 3:
    break
    print(i)
    else:
    print(123)

                  

  七、for循環的嵌套使用

    for i in range(3):
      for j in range(5):
        print("*=", end='')
      print() # print代表換行

                     

    for i in range(1, 10):

    for j in range(1, i + 1):

    print('%s*%s=%s' % (i, j, i * j), end=' ')

    print()

                  

  八、數據類型的內置方法

    在日常生活中不同類型的數據具有不同的功能

    eg:表格數據文件具有處理表格的各項功能(數據透視表、圖形化、公式計算)

    ...

    # 1.整形int

    # 方式在代碼中展示出來的效果就是 名字()
    # 類型轉換
    # res = '123'
    # print(type(res))
    # res = int(res)
    # print(type(res))
    '''int在做類型轉換的時候 只能轉換純數字'''
    # int('123.123')   # 報錯 不識別小數點
    # int('jason123')   # 報錯 不識別除數字以外的數據
    '''int其實還可以做進制數轉換'''
    print(bin(100)) # 將十進制的100轉換成二進制 0b1100100
    print(oct(100)) # 將十進制的100轉換成八進制 0o144
    print(hex(100)) # 將十進制的100轉換成十六進制 0x64
    # 0b開頭為二進制數 0o開頭為八進制數 0x開頭為十六進制數
    print(int('0b1100100', 2))  # 100
    print(int('0o144', 8))  # 100
    print(int('0x64', 16))  # 100

    # 浮點型

    # 類型轉換

    res = '123.123'

    # print(type(res))

    # res = float(res)

    # print(type(res))

    print(float('123'))  # 123.0

                      

    # 字符串str
    # 類型轉換
    print(str(123))
    print(str(123.21))
    print(str([1, 2, 3, 4]))
    print(str({'name': 'jason', 'pwd': 123}))
    print(str((1, 2, 3, 4)))
    print(str(True))
    print(str({1, 2, 3, 4}))

    # 基本用法
    res = 'hello world!'
    # 1.索引取值
    # print(res[1]) # e
    # 2.切片操作 顧頭不顧尾
    # print(res[1:4]) # ell
    # 3.步長操作
    # print(res[1:10]) # ello worl
    # print(res[1:10:2]) # el ol
    # 4.索引支持負數
    # print(res[-1]) # ! 最后一位
    # print(res[-5:-1]) # orld 顧頭不顧尾
    # print(res[-5:-1:-1]) # 方向沖突
    # 5.統計字符串內部字符的個數
    # print(len(res)) # 12
    # 6.移除字符串首尾指定的字符 strip()
    # name = ' jason '
    # print(name, len(name))
    # print(len(name.strip())) # 默認移除首尾的空格
    # name1 = '$$jason$$'
    # print(name1.strip('$')) # jason
    # print(name1.lstrip('$')) # jason$$
    # print(name1.rstrip('$')) # $$jason

    # username = input('username>>>:')
    # username = username.strip()
    # username = input('username>>>:').strip()
    # if username == 'jason':
    # print('老板好')
    # else:
    # print('去你妹的')
    # 7.按照指定的字符切割字符串 split() 該方法的結果是一個列表
    # res2 = 'jason|123|18'
    # print(res2.split('|')) # ['jason', '123', '18']
    # print(res2.split('|', maxsplit=1)) # ['jason', '123|18'] maxsplit用於控制切割的次數
    # print(res2.rsplit('|', maxsplit=1)) # ['jason|123', '18']
    """如何查看數據類型都有哪些內置方法
    句點符(.)
    """

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM