Python基礎語法(二)

2021-10-02 11:33:45 字數 4875 閱讀 6412

比如,輸入**,根據**列印不同的內容,在python程式中,用if語句實現:

price =

21if price >20:

#注意不要漏掉冒號

print

("**為%d元"

%(price)

)#縮排為四個空格或乙個tab

print

('**太貴了'

)

根據python的縮排規則,如果if語句判斷是true,就把縮排的兩行print語句執行了,否則,什麼也不做。

也可以給if新增乙個else語句,意思是,如果if判斷是false,不要執行if的內容,去把else執行了,

if中文意思為如果else中文意思為否則

price =

1if price >20:

print

("**為%d元"

%(price)

)print

('貴了'

)else

:#這裡同樣注意不要漏掉冒號

print

("**為%d元"

%(price)

)print

('便宜了'

)

還可以用elif做更細緻的判斷,elifelse if的縮寫,可以有多個elif

price =

20if price >20:

print

("**為%d元"

%(price)

)print

('貴了'

)elif price ==20:

print

("**為%d元"

%(price)

)print

('剛剛好'

)else

:#這裡同樣注意不要漏掉冒號

print

("**為%d元"

%(price)

)print

('便宜了'

)

if語句的完整形式:

if

《條件判斷1

>

:《執行1

>

elif

《條件判斷2

>

:《執行2

>

elif

《條件判斷3

>

:《執行3

>

else

:《執行4

>

if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是true,把該判斷對應的語句執行後,就忽略掉剩下的elifelse

if判斷條件還可以簡寫,比如寫:

x =

1if x:

print

('true'

)

只要x是非零數值、非空字串、非空list等,就判斷為true,否則為false。

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

>>> 1 + 2 + 3

6

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

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

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

for迴圈

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()函式,可以生成乙個整數序列。

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

sum=0

for x in

range

(101):

#因為是從0開始生成所以生成到100時是第101個數

sum=

sum+ x

print

(sum

)

while迴圈

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

sum=0

n =99

while n >0:

sum=

sum+ n

n = n -

2print

(sum

)

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

練習

請利用迴圈依次對list中的每個名字列印出hello, ***!:

name = ['zeruns', 'bart', 'lisa', 'adam']
答案

break

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

n =

1while n <=

100:

print

(n) n = n +

1print

('end'

)

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

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

n =

1while n <=

100:

if n >10:

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

break

# break語句會結束當前迴圈

print

(n) n = n +

1print

('end'

)

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

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

continue

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

n =

0while n <10:

n = n +

1print

(n)

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

n =

0while n <10:

n = n +

1if 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程序。

Python語法基礎(二)

i 1 while i 5 j 1 while j 5 print end print預設換行列印 end 列印空的雙引號使print列印不換行 j 1 print 列印空則換行 i 1 冪 取商 如果等號後邊是乙個式子,那麼優先計算式子 a 7 a 34 31 44 22 a 列印出來應該是32i...

Python基礎語法 二)

1 python注釋 python中單行注釋採用 開頭。print hello,python 第二個注釋python 中多行注釋使用三個單引號 或三個雙引號 這是多行注釋,使用單引號。這是多行注釋,使用單引號。這是多行注釋,使用雙引號。這是多行注釋,使用雙引號。2 識別符 在 python 裡,識別...

python基礎語法(二)

對於重複使用,並且經常需要修改的資料,可以定義為變數,來提高程式設計效率。定義變數的語法為 變數名 變數值。這裡的 作用是賦值。定義變數後可以使用變數名來訪問變數值。不使用變數列印三次 今天天氣真好 如果需要變成列印 今天天氣不好 需要修改三行 print 今天天氣真好 print 今天天氣真好 定...