datawhale Python學習打卡02

2021-10-08 10:54:50 字數 4837 閱讀 9565

目錄

3.條件語句

3.1if 語句

3.2if - else 語句

3.3 if - elif - else 語句

4.迴圈語句

4.1while 迴圈

4.2 while - else 迴圈

4.3 for 迴圈

4.4 for - else 迴圈

4.5 range() 函式

4.6 enumerate()函式

4.7. break 語句

4.8. continue 語句

4.9. pass 語句

4.10推導式

if 條件語句:

expr_true_suite

if 2 > 1 and not 2 > 3:

print('hello world')

# hello world

hi = 6

if hi > 2:

if hi > 7:

print('好棒!好棒!')

else:

print('切~')

if expression1:

expr1_true_suite

elif expression2:

expr2_true_suite..

elif expressionn:

exprn_true_suite

else:

expr_false_suite

進行單元測試時,可以用來在程式中置入檢查點,只有條件為 true 才能讓程式正常工作。

assert 3 > 7

# assertionerror

while 布林表示式:

**塊

while迴圈的**塊會一直迴圈執行,直到布林表示式的值為布林假。

注意:如果布林表示式不帶有<、>、==、!=、in、not in等運算子,僅僅給出數值之類的條件,也是可以的。

while後寫入乙個非零整數時,視為真值,執行迴圈體;寫入0時,視為假值,不執行迴圈體。

也可以寫入str、list或任何序列,長度非零則視為真值,執行迴圈體;否則視為假值,不執行迴圈體

string = 'abcd'

while string:

print(string)

string = string[1:]

# abcd

# bcd

# cd

# d

while 布林表示式:

**塊else:

**塊當while迴圈正常執行完的情況下,執行else輸出,如果while迴圈中執行了跳出迴圈的語句,比如 break,將不執行else**塊的內容。

count = 0

while count < 5:

print("%d is less than 5" % count)

count = 6

break

else:

print("%d is not less than 5" % count)

# 0 is less than 5

for迴圈是迭代迴圈,在python中相當於乙個通用的序列迭代器,可以遍歷任何有序序列,如str、list、tuple等,也可以遍歷任何可迭代物件,如dict

for 迭代變數 in 可迭代物件:

**塊

for i in 'ilovelsgo':

print(i, end=' ') # 不換行輸出

# i l o v e l s g o

for 迭代變數 in 可迭代物件:

**塊else:

**塊

理解和while-else迴圈一樣

range([start,] stop[, step=1])
for i in range(2, 9):  # 不包含9

print(i)

# 2# 3

# 4# 5

# 6# 7

# 8

enumerate(sequence, [start=0])

#sequence -- 乙個序列、迭代器或其他支援迭代物件。

#start -- 下標起始位置。

#返回 enumerate(列舉) 物件

languages = ['python', 'r', 'matlab', 'c++']

for language in languages:

print('i love', language)

print('done!')

'''i love python

i love r

i love matlab

i love c++

done!

'''for i, language in enumerate(languages, 2):

print(i, 'i love', language)

print('done!')

'''2 i love python

3 i love r

4 i love matlab

5 i love c++

done!

'''

break語句可以跳出當前所在層的迴圈。

continue終止本輪迴圈並開始下一輪迴圈。

pass語句的意思是「不做任何事」,如果你在需要有語句的地方不寫任何語句,那麼直譯器會提示出錯,而pass語句就是用來解決這些問題的。

def a_func():

pass

列表推導式

[ expr for value in collection [if condition] ]

x = [-4, -2, 0, 2, 4]

y = [a * 2 for a in x]

print(y)

# [-8, -4, 0, 4, 8]

x = [(i, i ** 2) for i in range(6)]

print(x)

# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]

print(x)

# [3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]

a = [(i, j) for i in range(0, 3) for j in range(0, 3)]

print(a)

# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

a = [(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1]

print(a)

# [(0, 2)]

元組推導式

( expr for value in collection [if condition] )

a = (x for x in range(10))

print(a)

# at 0x0000025be511cc48>

print(tuple(a))

# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

字典推導式

b =

print(b)

#

集合推導式

c =

print(c)

# #綜合例子

d = 'i for i in "i love lsgogroup"'

print(d)

# i for i in "i love lsgogroup"

e = (i for i in range(10))

print(e)

# at 0x0000007a0b8d01b0>

print(next(e)) # 0

print(next(e)) # 1

for each in e:

print(each, end=' ')

# 2 3 4 5 6 7 8 9

s = sum([i for i in range(101)])

print(s) # 5050

s = sum((i for i in range(101)))

print(s) # 5050

Datawhale Python基礎 打卡Day1

如果安裝後無法正常使用,linux環境下可以嘗試執行一下source bashrc命令,windows下檢查系統環境變數。b 直譯器 推薦使用py3 的版本,前段時間看到新聞說python2到20年就停止更新了,不過可以建立虛擬環境,不用太過糾結。一直以為直譯器和編譯器是一回兒事,查了以後發現還是有...

DataWhale python基礎任務2打卡

import numpy as np list1 1,2,3 print 建立列表 print list1 list1 print 在列表末尾新增新的物件 print list1 list1 print pop 函式用於移除列表中的乙個元素 預設最後乙個元素 並且返回該元素的值。print pop ...

DataWhale python基礎任務3打卡

任務三 時長 2天 dict字典 a.定義 b.建立 c.字典的方法 集合a 特性 b 建立 c.方法 判斷語句 要求掌握多條件判斷 三目表示式 迴圈語句 dict字典 a.定義 b.建立 c.字典的方法 a b.字典可用來儲存任意型別的物件,其由鍵 key 和對應值 value 成對組成。字典也被...