Python 3 x的學習筆記 day01 5

2021-09-01 23:27:59 字數 2826 閱讀 7361

要計算1+2+3,我們可以直接寫表示式:

>>> 1 + 2 + 3

6

要計算1+2+3+...+10,勉強也能寫出來。

但是,要計算1+2+3+...+10000,直接寫表示式就不可能了。

為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。

python的迴圈有兩種,一種是for...in迴圈,依次把list或tuple中的每個元素迭代出來,看例子:

names = ['michael', 'bob', 'tracy']

for name in names:

print(name)

執行這段**,會依次列印names的每乙個元素:

michael

bobtracy

所以for x in ...迴圈就是把每個元素代入變數x,然後執行縮排塊的語句。

再比如我們想計算1-10的整數之和,可以用乙個sum變數做累加:

sum = 0

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

print(sum)

如果要計算1-100的整數之和,從1寫到100有點困難,幸好python提供乙個range()函式,可以生成乙個整數序列,再通過list()函式可以轉換為list。比如range(5)生成的序列是從0開始小於5的整數:

>>> list(range(5))

[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整數序列,計算如下:

# -*- coding: utf-8 -*-
run

請自行執行上述**,看看結果是不是當年高斯同學心算出的5050。

第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

在迴圈內部變數n不斷自減,直到變為-1時,不再滿足while條件,迴圈退出。

在迴圈中,break語句可以提前退出迴圈。例如,本來要迴圈列印1~100的數字:

n = 1

while n <= 100:

print(n)

n = n + 1

print('end')

上面的**可以列印出1~100。

如果要提前結束迴圈,可以用break語句:

n = 1

while n <= 100:

if n > 10: # 當n = 11時,條件滿足,執行break語句

break # break語句會結束當前迴圈

print(n)

n = n + 1

print('end')

執行上面的**可以看到,列印出1~10後,緊接著列印end,程式結束。

可見break的作用是提前結束迴圈。

在迴圈過程中,也可以通過continue語句,跳過當前的這次迴圈,直接開始下一次迴圈。

n = 0

while n < 10:

n = n + 1

print(n)

上面的程式可以列印出1~10。但是,如果我們想只列印奇數,可以用continue語句跳過某些迴圈:

n = 0

while n < 10:

n = n + 1

if n % 2 == 0: # 如果n是偶數,執行continue語句

continue # continue語句會直接繼續下一輪迴圈,後續的print()語句不會執行

print(n)

執行上面的**可以看到,列印的不再是1~10,而是1,3,5,7,9。

可見continue的作用是提前結束本輪迴圈,並直接開始下一輪迴圈。

迴圈是讓計算機做重複任務的有效的方法。

break語句可以在迴圈過程中直接退出迴圈,而continue語句可以提前結束本輪迴圈,並直接開始下一輪迴圈。這兩個語句通常都必須配合if語句使用。

要特別注意,不要濫用breakcontinue語句。breakcontinue會造成**執行邏輯分叉過多,容易出錯。大多數迴圈並不需要用到breakcontinue語句,上面的兩個例子,都可以通過改寫迴圈條件或者修改迴圈邏輯,去掉breakcontinue語句。

有些時候,如果**寫得有問題,會讓程式陷入「死迴圈」,也就是永遠迴圈下去。這時可以用ctrl+c退出程式,或者強制結束python程序。

請試寫乙個死迴圈程式。

python3 x學習筆記2

命令 功能 sys.stdin 標準輸入流 sys.stdout 標準輸出流 sys.stderr 標準錯誤流 sys.argv value 接收命令列的引數。例如,windows下的命令列cmd裡面的引數。其中,argv 0 表示該檔案本身。sys.version 檢視該python的版本。sys...

python 3 x 學習筆記 一

1.11 位 1 bit 8 bit 1 bytes 1 位元組 1024 位元組 1 kb 1.232位系統與64位系統的區別 32位系統的最大定址空間為 32系統僅支援4g的執行記憶體 64位系統從理論上支援數t級的執行記憶體 2.1 安裝python 2.2 設定環境變數 在cmd命令視窗輸入...

Python3 x學習筆記 一

前兩天搞ios時,由於專案迭代好多次,ui設計圖被推翻好多次,需要刪除專案中不用的,很顯然乙個乙個找太麻煩,這時候在網上找到了解決辦法,運用的就是用python寫的指令碼,頓時感覺python太強調了,不由自主的準備學習一下心得語言python python是一門指令碼語言,其用途是非常廣泛的,系統...