Python循環(huán)語句For?Range用法示例詳解
一、range 函數(shù)概念
range
函數(shù)是一個(gè)內(nèi)建函數(shù),它的返回值是一個(gè)半閉半開范圍內(nèi)的整數(shù)。for
循環(huán)常與range
函數(shù)一起使用,range
函數(shù)為循環(huán)提供條件。
二、語法結(jié)構(gòu)
range(start, end,step=1)
案例
常規(guī)使用:
[root@localhost day02]# python3 >>> tmp = range(1, 10) >>> tmp range(1, 10) >>> len(tmp) 9 >>> list(tmp) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> tmp01 = range(5) >>> tmp01 range(0, 5) >>> list(tmp01) [0, 1, 2, 3, 4]
因?yàn)?range 函數(shù)的使用和切片比較類似,所以同樣具有切片的使用特性:
[root@localhost day02]# python3 >>> tmp = range(1, 10, 2) >>> list(tmp) [1, 3, 5, 7, 9]
與 for 循環(huán)一起使用
可以把 range 函數(shù)當(dāng)成購物車,購物車中的商品是一個(gè)個(gè)范圍內(nèi)的數(shù)字,要想拿出里面的數(shù)字,就得遍歷,所以 range 可以和 for 連用,可以控制循環(huán)次數(shù)。
控制for循環(huán)的次數(shù)
[root@localhost day02]# vim demo07_for.py # demo07_for.py是文件名,可以修改 for i in range(3): print("第" + str(i) + "次:hello world")
- 如果直接打印 "hello world":
[root@localhost day02]# vim demo07_for.py # demo07_for.py是文件名,可以修改 for i in range(3): print("hello world")
- 這里的變量 i 只是為了語法,在案例中沒有實(shí)際意義,不寫變量在語法層面會報(bào)錯(cuò),這里的 range 只為控制循環(huán)次數(shù)。
三、列表解析
它是一個(gè)非常有用、簡單、靈活的工具,可以用來動(dòng)態(tài)地創(chuàng)建列表,注意:它只是一個(gè)簡寫方式,不是新知識點(diǎn)
語法結(jié)構(gòu)
案例:生成一個(gè)元素為 1~10 的列表
for 循環(huán)方式:語法相對復(fù)雜,但是好理解
[root@localhost day02]# vim demo08_for.py # demo08_for.py是文件名,可以修改 list01 = [] for i in range(1, 11): list01.append(i) # [1, 2, 3, 4, 5 ,6 ,7 ,8, 9, 10] print(list01)
列表解析式
[root@localhost day02]# vim demo08_for.py # demo08_for.py是文件名,可以修改 list01 = [i for i in range(1, 11)]
列表解析式相對于for循環(huán),只是變了一種結(jié)構(gòu),核心還是for循環(huán),所以我們只需要關(guān)心語法即可。
練習(xí):將剛才的 list01 列表的基礎(chǔ)上對其中的每個(gè)元素加 1
[root@localhost day02]# vim demo08_for.py # demo08_for.py是文件名,可以修改 list01 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list01 = [i+1 for i in list01] print(list01)
練習(xí):斐波那契數(shù)列
- 斐波那契數(shù)列就是某一個(gè)數(shù),總是前兩個(gè)數(shù)之和,比如 0,1,1,2,3,5,8
- 使用for循環(huán)和range函數(shù)編寫一個(gè)程序,計(jì)算有10個(gè)數(shù)字的斐波那契數(shù)列
- 改進(jìn)程序,要求用戶輸入一個(gè)數(shù)字,可以生成用戶需要長度的斐波那契數(shù)列
版本一
[root@localhost day02]# vim test05_for.py # test05_for.py是文件名,可以修改 fib = [0,1] # 定義列表,指定斐波那契數(shù)列的初始兩個(gè)值 for i in range(8): # for循環(huán)執(zhí)行8次,列表fib中的元素個(gè)數(shù)變?yōu)?0【初始2個(gè) + 新增的8個(gè)】 fib.append(fib[-1] + fib[-2]) # 列表追加,每次都是最后一個(gè)元素和倒數(shù)第二個(gè)元素相加,產(chǎn)生新的元素 print(fib) # 打印列表fib
版本二:編寫可以指定長度的斐波那契數(shù)列程序
[root@localhost day02]# vim test05_for.py # test05_for.py是文件名,可以修改 fib = [0,1] # 定義列表,指定斐波那契數(shù)列的初始兩個(gè)值 n = int(input('長度: ')) # 定義變量n, 此變量為用戶要看到的列表fib中的元素個(gè)數(shù) # for循環(huán)執(zhí)行n-2次,for循環(huán)執(zhí)行多少次,列表fib會新增多少個(gè)元素 # 因?yàn)榱斜韋ib本身有兩個(gè)初始值,所以要產(chǎn)生n-2個(gè)數(shù)字 for i in range(n - 2): fib.append(fib[-1] + fib[-2]) print(fib)
以上就是Python循環(huán)語句For Range用法示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python循環(huán)語句For Range的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python畫圖把時(shí)間作為橫坐標(biāo)的方法
今天小編就為大家分享一篇python畫圖把時(shí)間作為橫坐標(biāo)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python3 BeautifulSoup模塊使用字典的方法抓取a標(biāo)簽內(nèi)的數(shù)據(jù)示例
這篇文章主要介紹了python3 BeautifulSoup模塊使用字典的方法抓取a標(biāo)簽內(nèi)的數(shù)據(jù),結(jié)合實(shí)例形式Fenix了python3 BeautifulSoup模塊進(jìn)行數(shù)據(jù)的抓取相關(guān)操作技巧,需要的朋友可以參考下2019-11-11selenium+python實(shí)現(xiàn)基本自動(dòng)化測試的示例代碼
這篇文章主要介紹了selenium+python實(shí)現(xiàn)基本自動(dòng)化測試的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01用python按照圖像灰度值統(tǒng)計(jì)并篩選圖片的操作(PIL,shutil,os)
這篇文章主要介紹了用python按照圖像灰度值統(tǒng)計(jì)并篩選圖片的操作(PIL,shutil,os),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python3 對list中每個(gè)元素進(jìn)行處理的方法
今天小編就為大家分享一篇python3 對list中每個(gè)元素進(jìn)行處理的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06pycharm的console輸入實(shí)現(xiàn)換行的方法
今天小編就為大家分享一篇pycharm的console輸入實(shí)現(xiàn)換行的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01