小甲魚8 2了不起的條件分之2課後題總結

2021-10-23 00:21:56 字數 1072 閱讀 2206

2. 假設有 x = 1,y = 2,z = 3,請問如何快速將三個變數的值互相交換?

答:x, y, z = z, y, x

3. 猜猜 (x < y and [x] or [y])[0] 實現什麼樣的功能?

答:這其實是 python 的作者還沒有為 python 加入三元操作符之前,python 社群的小夥伴們靈活的使用 and 和 or 搭配來實現三元操作符的功能,這裡邊有涉及到列表和切片的知識,這部分知識很快就會講解,迫不及待的朋友可以先稍微預習下。

這個式子可以簡化成(xname = 『小甲魚』

『魚』 in name

true

『肥魚』 in name

false

python 的作者在很長一段時間不肯加入三元操作符就是怕跟c語言一樣搞出國際亂碼大賽,蛋疼的複雜度讓初學者望而生畏,不過,如果你一旦搞清楚了三元操作符的使用技巧,或許一些比較複雜的問題反而迎刃而解。

請將以下**修改為三元操作符實現:

x, y, z =6,

5,4if x < y:

small = x

if z < small:

small = z

elif y < z:

small = y

else

: small = z

答案:

個人答案:

x, y, z =6,

5,4small=x if x < y and xprint

(small)

#三元操作和and or 短路邏輯結合,不是純正的三元

標準答案:

small = x if

(x < y and x < z)

else

(y if y < z else z)

#理解記憶:y if y

總結:and or not靈活運用,短路邏輯,三元操作,in檢查

小甲魚 007 009了不起的分支和迴圈

分支 是否做某事 迴圈 持續做某事 python可以有效避免c中的懸掛else if x y small x else small y assert 4 3,錯了,4 3 為斷言失敗新增備註或說明 python assert 3 4,錯了,4 3 while 條件 迴圈體for 目標 in 表示式 ...

小甲魚Python課後作業008了不起的分支和迴圈

0.if not money 100 上邊這行 相當於?if money 100 1.assert的作用是什麼?assert 斷言是宣告其布林值必須為真的判定,如果發生異常就說明表達示為假,用法是assert 表示式 用於測試程式,防止錯誤 繼續執行,如果表示式的值為假,則整個程式退出,並輸出一條錯...

PE頭部的解析(總結於小甲魚)

上次講到dos現在講下緊跟在dos頭部後面的pe頭 pe頭對映的是image nt header結構,裡面包含pe裝載器用到的重要字段 下圖是image nt header結構體原型有三個成員 signature欄位 在乙個有效的pe檔案裡,signature欄位被設定為 00 00 45 50 a...