python idle下:選中**,alt+3 群體注釋;alt+4 群體取消注釋;ctrl+ 集體縮排。
一、if語句
(一).語法規則
if(橙色關鍵字),條件和表示式分開寫的話,if這一行的末尾絕對不要忘了冒號":"
實在沒有語句,放乙個pass佔位符,不然沒有接語句會報錯。
if...elif從上往下執行。會進入第乙個滿足真值條件的**塊,同層的if...elif只會執行一次。只要滿足其中乙個判斷條件,就不會再往下執行了。
else不是必須的,但else後面不能接判斷語句。
(二).真假值對照表
(三).一行語句判斷
格式:result1 if 條件語句 else result2
當條件滿足時,返回result1,否則返回else後面的語句(也就是result2)。
例:a = 10
print(true if a > 1 elsefalse)#true
view code
(四).補充
range() range的意思是:區間
range(10) -> 0~9 只放乙個引數,預設從0開始了。左閉右開,10取不到。
range(1,10) -> 1~9 左閉右開,stop的值取不到。
range(1,10,2) -> 1,3,5,7,9 步長。隔幾個取一下。
random.randint(1,10) 兩邊都取得到,可用help(random.randint)檢視說明。先導入random,再dir()
random.random() 不要放引數。隨機返回0-1之間的浮點小數。1取不到
random.sample(iterable,n) return list. 從序列中隨機抽取n個
random.choice(iterable) 從序列中,隨機返回乙個元素
input()內建函式:提示輸入,並獲取輸入的內容,輸出的是字串。
二、while 迴圈
while 條件語句:
pass
條件滿足時才會進入迴圈。必須要有終止條件,不然就是死迴圈(除非有break),0 false {} 都為假。
break:終止本層迴圈。跳出去了,下面的語句就不會執行了。
continue:跳過本次迴圈,但不結束迴圈,直接到while後面的判斷語句。
三、for 迴圈
遍歷迭代物件中的元素。
for i in "1,2,3":print(i, end="")
# 執行結果:1,2,3
# 字串中,逗號也是乙個元素
#把上面**中的序列型別改一下:#上面是 "1,2,3"#這裡是 (1,2,3)
for i in (1,2,3):print(i, end=" ")
# 遠行結果:1 2 3
# 元組中的逗號只是用來隔開每乙個元素的
(一).python3中的for迴圈體系與其他語言不一樣,注意看下面這個例子:
for i in range(1, 10):print(i, end=" ")
i+= 2
#執行結果:1 2 3 4 5 6 7 8 9
為啥自加2了,結果卻依然還是 1-9?因為一次迴圈執行完後,跑回去了,每一次i都會被重新賦值。根本不會改變遍歷的次數。
趁熱打鐵,看下面這個案例:
for i in range(1, 10):
i+= 2
print(i, end=" ")#執行結果:3 4 5 6 7 8 9 10 11
根本不會影響遍歷的次數。列印出來的,依舊是9個值。也就是說,還是執行了9次迴圈。
for迴圈的機制是迭代窮盡了,才結束迴圈。通過遍歷的次數來控制迴圈。遍歷幾次,就迴圈幾次。物件中的元素被遍歷完了,那就迴圈結束拜拜了。
分析下例:
for i in range(1, 10, 2):
i+= 2
print(i, end=" ")#執行結果:3 5 7 9 11
此例設定了range區間的步長,每隔2個取一次,更改了遍歷的次數,此處遍歷了5次,所以是5個結果。
(二).for迴圈補充:
#用for迴圈遍歷迭代物件中的多個元素
li = [("abb", "b"), ("c", "d11"), ("e", "f00")]#物件中,每個元素的數量都必須是一樣的。多乙個,少乙個,都會報錯。
for i, j inli:print(i, j)"""執行結果:
abb b
c d11
e f00"""
四、同層迴圈的else體系:
只有正常結束的迴圈(不能被break),才會執行else部分。
一層迴圈內,如果遇到break就是強制終止當前迴圈了,與之配套的else語句塊就不會執行了,因為不是正常結束迴圈。
五、總結for 和 while:
相同點:都能迴圈做一件重複的事情。(好像是廢話2333)
不同點:
while在條件不成立的時候停止。需要有終止條件。
for在迭代物件窮盡的時候停止。需要的是可迭代物件。
while是條件迴圈,for是遍歷迴圈。
六、巢狀迴圈
類似行、列的概念,要清楚一層一層怎麼執行的。
外面走一步,裡面全部走完。
先看下面這個例子,理解一下每一層是怎麼執行的:
for i in range(2):print("***", i)for j in range(2):print("00", j)"""*** 0
00 0
00 1
*** 1
00 0
00 1"""
view code
經典的9*9乘法表案例:
#列印9*9乘法表
for i in range(1, 10): # 控制行,共9行for j in range(1, i + 1): # 控制拼接次數,多少列print("{}x{}={}".format(j, i, i * j), end="\t") # 不設定end,每次結束本層迴圈都會換行print()
#利用列表推導式,一行**
print("\n".join(["".join(["{}x{}={}\t".format(j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))"""可讀性很差,只能用來裝b。
看著上面的例子寫,先寫最外層的for,然後再乙個個往裡塞。"""
Python 條件 迴圈
條件語句 迴圈語句 字典的遍歷 方法1 2 l 1,2,3,4,5,6,7 3for index in range 0,len l 4if index 5 5print l index 67 方法2 8 l 1,2,3,4,5,6,7 9for index,item in enumerate l 1...
python的迴圈條件
s 1 while s 9 迴圈的條件,不符合條件時退出 print 歡迎你 s s 9 else 當不符合條件時,可以用else print 再見 i 1 whilei 10 i 1 ifi 2 0 非雙數時跳過輸出 continueprint i 輸出雙數2 4 6 8 10 i 1 while...
python 條件 迴圈語句
1.python中語句塊如何定義 在python中,冒號 用來標識語句塊的開始,塊中的每乙個語句都是縮排的。當回退到和已經閉合的塊一樣的縮排量時,就表示當前塊已經結束。預設推薦縮排量是4個空格,乙個tab字元為8個空格。2.python中比較運算子 3.布林運算子 andor not4.示例 cod...