day 4 复习循环练习题和列表
day 4 復(fù)習(xí)循環(huán)練習(xí)和列表
使用for和while循環(huán)輸出 0~100內(nèi)所有3的倍數(shù)。
for循環(huán)
? while循環(huán)
# 方法一 x = 0 while x <= 100:if x % 3 == 0:print('3的倍數(shù)', x )x += 3 # 優(yōu)化 num = 0 while True:print(num)num += 3if num >= 100:break使用for和while循環(huán)輸出100~200內(nèi)個(gè)位數(shù)或者十位數(shù)能被3整除的數(shù)。
for循環(huán)
? while循環(huán)
x = 100 while 100 <= x < 200:if ((x % 10) % 3) == 0 or (x // 10 % 10 % 3) == 0:print('能被3整除的數(shù)', x )x += 1 # 優(yōu)化 num = 100 while True:if num % 10 % 3 == 0 or num // 10 % 10 % 3 == 0:print(num)num += 1if num >= 200:break思路:判斷N是否是素?cái)?shù),就看從2開始到N-1中有沒有一個(gè)能被N整除的數(shù)
num = 8 for x in range(2, num):if num % x == 0:print(num, '不是素?cái)?shù)')break else:print(num, '是素?cái)?shù)')# 優(yōu)化: for x in range(2, int(num**0.5)+1):if num % x == 0:print(num, '不是素?cái)?shù)')break else:print(num, '是素?cái)?shù)')求斐波那契數(shù)列列中第n個(gè)數(shù)的值:1,1,2,3,5,8,13,21,34… (這兒的n可以是任意正整數(shù),可以通過(guò)輸入來(lái)確定)
規(guī)則:第一個(gè)數(shù)和第二個(gè)數(shù)是1,從第三個(gè)數(shù)開始就是前面兩個(gè)數(shù)的和
輸出9*9口訣。 程序分析:分行與列考慮,共9行9列,i控制行,j控制列。
思路: 用一個(gè)循環(huán)控制行數(shù), 然后再用一個(gè)循環(huán)控制每一行的列數(shù)
把沒有這么理解的敲了5遍
列表
列表是容器型數(shù)據(jù)類型(是序列); 將中括號(hào)作為容器標(biāo)準(zhǔn),里面多個(gè)元素用逗號(hào)隔開。
[元素1,元素2,元素3…]
列表是可變的:指的是列表中元素的個(gè)數(shù),元素和順序和元素的值可變;列表是有序的(支持下標(biāo)操作)
列表的元素:任何類型的數(shù)據(jù)都可以作為列表的元素,同一個(gè)列表中不同的元素的類型可以不同.
獲取列表元素 (查)
語(yǔ)法:
列表[下標(biāo)] - 獲取列表中指定下標(biāo)對(duì)應(yīng)的元素
說(shuō)明:
列表 - 保存列表的變量也可以直接寫變量
**[] ** - 固定寫法
**下標(biāo) **- 又叫:索引; 下標(biāo)就是元素在有序序列中的位置信息。
元素從前往后對(duì)應(yīng)是下標(biāo)值從0開始以依次增加;
元素從后往前對(duì)應(yīng)的下標(biāo)值從-1開始依次減小。
例如:
names =['百里守約', '瑤', '李白', '后羿', '曜'] print(names[1]) # 瑤 print(names[-4]) # 瑤 print(names[0]) # 百里守約 print(names[-2]) # 后羿# print(names[5]) # 報(bào)錯(cuò) IndexError: list index out of range? 2. 遍歷 (一個(gè)一個(gè)的獲取列表中所有的元素)
方法1: - 直接獲取元素 for 變量 in 列表:循環(huán)體# 方法2: - 通過(guò)獲取到所有元素的下標(biāo)來(lái)獲取元素 for 下標(biāo) in range(列表長(zhǎng)度):列表[下標(biāo)]len(序列) - 獲取序列中元素的個(gè)數(shù)例如:
for name in names:print('name: ', name) # 練習(xí):統(tǒng)計(jì)scorse中不及格學(xué)生的個(gè)數(shù) scores = [78, 67, 56, 90, 78, 23, 91] count = 0 for x in scores:if x < 60:count += 1 print('不及格的人數(shù):', count) 3. 切片 - 同時(shí)獲取多個(gè)元素- 基礎(chǔ)語(yǔ)法
列表[開始下標(biāo):結(jié)束下標(biāo):步長(zhǎng)]
總結(jié):
如果步長(zhǎng)為正:從開始下標(biāo)開始到結(jié)束下標(biāo)前,從前往后取,取的步長(zhǎng)指定步長(zhǎng)
如果步長(zhǎng)為負(fù):從開始下標(biāo)開始到結(jié)束下標(biāo)前,從后往前取,取的步長(zhǎng)指定步長(zhǎng)
- 省略語(yǔ)法
- 省略步長(zhǎng):列表[開始下標(biāo):結(jié)束下標(biāo)] - 相當(dāng)于步長(zhǎng)是1
- 省略開始下標(biāo):列表[:結(jié)束下標(biāo):步長(zhǎng)] / 列表[:結(jié)束下標(biāo)]
- 省略結(jié)束下標(biāo):列表[開始下標(biāo)::步長(zhǎng)] / 列表[開始下標(biāo);]
例如:
movies = ['貓鼠游戲', '復(fù)仇者聯(lián)盟','流浪地球','V字仇殺隊(duì)', '泰坦尼克號(hào)', '寂靜嶺','生化危機(jī)', '肖申克的救贖'] # print(movies[1:5:1]) #['復(fù)仇者聯(lián)盟', '流浪地球', 'V字仇殺隊(duì)', '泰坦尼克號(hào)'] # print(movies[1:6:2]) #['復(fù)仇者聯(lián)盟', 'V字仇殺隊(duì)', '寂靜嶺'] # print(movies[1:5:-1]) #[] # print(movies[-3,:2:1]) #[]print(movies[1:-1]) # 省略步長(zhǎng):列表[開始下標(biāo):結(jié)束下標(biāo)] - 相當(dāng)于步長(zhǎng)是1 print(movies[:-2:1]) # 省略開始下標(biāo):列表[:結(jié)束下標(biāo):步長(zhǎng)] print(movies[:-1]) # 省略了開始下標(biāo),和步長(zhǎng)。 print(movies[0::2]) # 省略了結(jié)束下標(biāo)。 print(movies[2:]) # 省略了結(jié)束下標(biāo)和步長(zhǎng), 默認(rèn)步長(zhǎng)是1總結(jié)
以上是生活随笔為你收集整理的day 4 复习循环练习题和列表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蓝桥杯---试题 历届试题 对局匹配
- 下一篇: ipmitool 实时检测温度的脚本编写