python operator和Branching and cycling

operator

  • Python 的 floor 除法如今使用 「//」 實現,那 3.0 // 2.0 您目測會顯示什麼內容呢?
    • 地板除結果都是整數
  • a < b < c 事實上是等於?
    • a<b and b<c
  • 不使用 IDLE,你能夠輕鬆說出 5 ** -2 的值嗎
    • 5**(-2)
    • 冪運算操做符比其左側的一元操做符優先級高,比其右側的一元操做符優先級低。
  • 如何簡單判斷一個數是奇數仍是偶數?
    • 取餘%, if(a%2) "是奇數" else "是偶數"
  • not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    • (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
    • == 0 or 0 or 4 or 6 or 9
    • == 4
  • 還記得咱們上節課那個求閏年的做業嗎?若是尚未學到「求餘」操做,還記得用什麼方法能夠「委曲求全」代替「%」的功能呢
  • 請寫一個程序打印出 0~100 全部的奇數。
  • 咱們說過如今的 Python 能夠計算很大很大的數據,可是......真正的大數據計算但是要靠剛剛的硬件滴,不妨寫一個小代碼,讓你的計算機爲之崩潰?
  • 愛因斯坦曾出過這樣一道有趣的數學題:有一個長階梯,若每步上2階,最後剩1階;若每步上3階,最後剩2階;若每步上5階,最後剩4階;若每步上6階,最後剩5階;只有每步上7階,最後恰好一階也不剩。
  • 答案:github.com/LiuJiYangYa…

Branching and cycling分支與循環

  • if not (money < 100): 上邊這行代碼至關於?
    • if money >= 100:
  • assert 的做用是什麼?
    • assert這個關鍵字咱們稱之爲「斷言」,當這個關鍵字後邊的條件爲假的時候,程序自動崩潰並拋出AssertionError的異常。 什麼狀況下咱們會須要這樣的代碼呢?當咱們在測試程序的時候就很好用,由於與其讓錯誤的條件致使程序從此莫名其妙地崩潰,不如在錯誤條件出現的那一瞬間咱們實現「自爆」。 通常來講咱們能夠用Ta再程序中置入檢查點,當須要確保程序中的某個條件必定爲真才能讓程序正常工做的話,assert關鍵字就很是有用了。
  • 假設有 x = 1,y = 2,z = 3,請問如何快速將三個變量的值互相交換?
    • x, y, z = z, y, x
  • 猜猜 (x < y and [x] or [y])[0] 實現什麼樣的功能?
    • 這實際上是 Python 的做者尚未爲 Python 加入三元操做符以前,Python 社區的小夥伴們靈活的使用 and 和 or 搭配來實現三元操做符的功能,這裏邊有涉及到列表和切片的知識
  • 你據說過成員資格運算符嗎?
    • Python 有一個成員資格運算符:in,用於檢查一個值是否在序列中,若是在序列中返回 True,不然返回 False
>>> name = '小甲魚'
>>> '魚' in name
True
>>> '肥魚' in name
False
複製代碼
  • 視頻中小甲魚使用 if-elif-else 在大多數狀況下效率要比所有使用 if 要高,但根據通常的統計規律,一個班的成績通常服從正態分佈,也就是說平均成績通常集中在 70~80 分之間,所以根據統計規律,咱們還能夠改進下程序以提升效率。
  • Python 的做者在很長一段時間不願加入三元操做符就是怕跟 C 語言同樣搞出國際亂碼大賽,蛋疼的複雜度讓初學者望而生畏,不過,若是你一旦搞清楚了三元操做符的使用技巧,或許一些比較複雜的問題反而迎刃而解。
  • 請寫下這一節課你學習到的內容:格式不限,回憶並複述是增強記憶的好方式!
  • 打飛機小遊戲的設計框架
  • 條件表達式(三元操做符)
x, y = 4, 5
if x < y:
    small = x
else:
    small = y
# 改
small = x if x < y else y
複製代碼
  • 斷言(assert)
    • assert這個關鍵字咱們稱之爲「斷言」,當這個關鍵字後邊的條件爲假時,程序自動崩潰並拋出AssertionError的異常。當這個關鍵字後邊的條件爲真時,程序無影響。
  • 答案:github.com/LiuJiYangYa…
相關文章
相關標籤/搜索