第七講 集合 順序執行與while迴圈

2021-10-13 09:57:43 字數 3267 閱讀 6298

集合的建立

新增元素

刪除元素

集合更新

順序執行

條件判斷

迴圈控制

for迴圈表示式

作業3(擴充套件)

作業5作業2

作業3通過 set.add(key) 方法可以 新增元素 到 set 中

需要注意的是:

set.remove(key):刪除指定元素。

set.pop():隨機刪除元素(注意:無引數)

set.discard():與remove()用法相同,但是如果元素不存在,不會報錯。

需要注意的是:

可以通過 set.update() 方法,將另乙個物件更新到已有的集合中,這一過程同樣會進行去重。

python**在執行過程中,遵循下面的基本原則:

普通語句,直接執行;

碰到函式,將函式體載入記憶體,並不直接執行;

碰到類,執行類內部的普通語句,但是類的方法只載入,不執行;

碰到if、for等控制語句,按相應控制流程執行;

碰到@,break,continue等,按規定語法執行;

碰到函式、方法呼叫等,轉而執行函式內部**,執行完畢繼續執行原有順序**。

乙個 .py,除了可以被直接執行外,還可以作為模組,被其他 .py檔案匯入。不管是直接執行還是被匯入,.py 檔案的最頂層**都會被執行(python 用縮進來區分**層次)。但是當乙個 .py 檔案作為模組被匯入時,我們可能不希望一部分**被執行。那麼就可以將這部分**的呼叫寫在主程式中。

條件判斷是通過一條或多條判斷語句的執行結果(true 或者 false)來決定執行的**塊。在python 語法中,使用 if、elif 和 else 三個關鍵字來進行條件判斷。

每個條件後面要使用 冒號 作為 判斷行的結尾,表示接下來是 滿足條件(結果為true)後要執行的語句塊。

除了 if 分支 必須有,elif 和 else 分支都可以根據情況 省略。

使用 縮排 來 劃分語句塊,相同縮排數的語句在一起組成乙個語句塊。

順序判斷每乙個分支,任何乙個分支首先被命中並執行,則其後面的所有分支被忽略,直接跳過!

可以有多個 elif ,但只能有乙個 else。

在 python 中 沒有 switch – case 語句。

if…elif…else 語句可以巢狀,也就是把 if…elif…else 結構放在另外乙個if…elif…else 結構中。

迴圈控制,就是讓程式迴圈執行某一段**直到滿足退出的條件,才退出迴圈。python 用關鍵字for和while來進行迴圈控制。

當程式從上至下執行時,遇到while迴圈語句,則會判斷表示式是否成立 ,當 成立時則會進入while迴圈體內,執行迴圈體內部執行的**塊。直到判斷表示式不成立時 ,則終止迴圈。

while 迴圈還可以增加乙個 else 從句。當 while 迴圈正常執行完畢,會執行 else語句。

需要注意的是:

while可以巢狀。但是建議不要巢狀 3 層以上,那樣的效率會很低。

雖然與while一樣都是迴圈的關鍵字,但 for迴圈通常用來遍歷可迭代的物件。

在 while 迴圈中,擁有 break 與 continue 語句,那 for 迴圈中也有 break 與

continue 語句,並且作用一致。

生成了n個1~1000之間的隨機整數(n<=1000),n是使用者輸入的,對於其中重複的數字,只保留乙個,把其餘相同的數字去掉,然後再把這些數從小到大排序。

import random

a =int

(input

('請輸入1~1000中任意乙個數字:'))

不可變:整數、浮點數、字串、元祖、布林值

可變:字典、列表、可變集合

列印出所有的"水仙花數",所謂"水仙花數"是指乙個三位數,其各位數字立方和等於該數本身。例如:153是乙個"水仙花數",5.1^3 + 5^3+ 3^3 = 153

for num in

range

(100

,1000):

x = num //

100 y = num //10%

10 z = num %

10if x **

3+ y **

3+ z **

3== num:

print

(str

(num)

+"是水仙花"

('最近學習了嗎?yes/no:'

)if s1 ==

'yes'

:print

('very good'

)while

true

:print

('1.python \n2.高數 \n3.退出'

) s2 =

input

('請輸入學習選項:'

)if s2 ==

'1':

print

('python真不戳!'

)break

elif s2 ==

'2':

print

('高數很厲害!'

)break

elif s2 ==

'3':

print

('已退出'

)break

else

:print

('選項有誤,請重新選擇!'

)continue

elif s1 ==

'no'

:print

('年輕人,耗子尾汁!'

)else

:print

('輸入有誤'

)

機器學習第七講

第七講 最優化 1.優化目標 2.梯度下降 隨機梯度下降sgd 訓練乙個樣本,更新 次引數 mini batch是sgd的推廣,通常所說sgd即是mini batch。病態條件 病態條件 不同方向有不同的梯度 學習率的選擇困難。區域性最小 區域性最小 local minima 權重空間是對稱的 放大...

讀書筆記(第七講)

本講主要是講述迴圈控制語句包括 while,do.while,for語句。跟前面講的差不多,這些不是物件導向程式設計,以上講的都是一些語言學習的基礎。在任何語言上都會接觸到。對於迴圈控制語句有乙個比較經典的例子就是從1加到100,求和!這題目已經百做都厭了。public class whiletes...

小布老師 PL SQL 第七講

一 dos下修改表資料需要commit 1.開啟兩個dos視窗,乙個用sysdba登入,乙個用hr使用者登入 2.在sysdba 使用者視窗中查詢現在未提交的事務 select xid,xidusn from v transaction 如果存在資料有的修改事務沒有commit 3.測試 在hr視窗...