比如,輸入**,根據**列印不同的內容,在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
做更細緻的判斷,elif
是else 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
,把該判斷對應的語句執行後,就忽略掉剩下的elif
和else
。
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
語句使用。
要特別注意,不要濫用break
和continue
語句。break
和continue
會造成**執行邏輯分叉過多,容易出錯。大多數迴圈並不需要用到break
和continue
語句,上面的兩個例子,都可以通過改寫迴圈條件或者修改迴圈邏輯,去掉break
和continue
語句。
有些時候,如果**寫得有問題,會讓程式陷入「死迴圈」,也就是永遠迴圈下去。這時可以用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 今天天氣真好 定...