欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python循環(huán)語句For?Range用法示例詳解

 更新時(shí)間:2023年09月21日 10:26:38   作者:技術(shù)老男孩  
這篇文章主要為大家介紹了Python循環(huán)語句For?Range用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、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)文章

最新評論