老師,向您請教兩個問題。^_^ @清波
for x in ['A', 'B', 'C']: ? ?for y in ['1', '2', '3']:
? ? ? ?print x + y
x?每循環一次,y?就會循環 3 次,這樣,我們可以打印出一個全排列:
A1
A2
A3
B1
B2
B3
C1
C2
C3
您看上面的代碼和結果。我有兩個問題。首先是:print x + y 為什么必須這樣縮進?我在網上檢索了,也回顧了教程,沒明白。第二個問題是:為什么x 循環一次,y就循環三次?
for x in ['A', 'B', 'C']: ? ?for y in ['1', '2', '3']:
? ? ? ?print x + y
x?每循環一次,y?就會循環 3 次,這樣,我們可以打印出一個全排列:
A1
A2
A3
B1
B2
B3
C1
C2
C3
您看上面的代碼和結果。我有兩個問題。首先是:print x + y 為什么必須這樣縮進?我在網上檢索了,也回顧了教程,沒明白。第二個問題是:為什么x 循環一次,y就循環三次?
2016-04-20
舉報
2016-04-21
(⊙o⊙)… 我真不是老師。。 。 還是直接代碼格式列解釋吧:
2016-04-20
print x+y屬于for y這層循環的,屬于for x的二層循環,python語法規定每層循環必須在上層循環的基礎上縮進相同的空格數,標準的是以4個空格為一級,所以二層循環for y需要縮進8個空格;
for y循環屬于for x循環的嵌套循環,因此每當x取到['A','B','C']一個新的值,y就要遍歷['1', '2', '3']中所有值,因此需要循環三次,即當x='A'時,y需要依次取‘1’,‘2’,‘3’這三個值,這是python的語法規定。
2016-04-20
(1)遇到寫for循環的時候需要在下一行空出4格再進行print
(2)x是第一重循環,y是第二重循環,for example:當X=A時,需要判斷Y這時候要把B中的所有數遍歷一遍,才能進行X=B運行。
2016-04-20
python中的縮進的作用類似其他語言的{},用于區分程序塊,不縮進就代表和for語句并列關系,無法得到正確結果;
第二個for語句位置相較第一個for語句也縮進了,第二個for語句相較第一個for語句第一個層級。高層級執行一次,低層級要執行完畢,高層級才能執行第二次。
同在學習,有不懂,再交流,謝謝!
2016-04-20
沒看懂第一個問題。
第二個x保持一個固定的數的時候,y會取三個不同的值做運算。
教程這話講得不是很嚴謹,不要太在意