亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師,向您請教兩個問題。^_^ @清波

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就循環三次?

正在回答

5 回答

(⊙o⊙)… 我真不是老師。。 。 還是直接代碼格式列解釋吧:

for?x?in?['A',?'B',?'C']:
????for?y?in?['1',?'2',?'3']:
????????print?x?+?y
????????
##?縮進關系呢,就是依次遞進的,?為什么?print?要隨進到第二個for里面,?這是為了演示多層for?循環,
##?多層循環打字不太好講,我盡量表達的通俗些,筆力有限,希望題主能看明白吧。
##?首先說最外層的for?循環,遍歷一個?三個元素的列表,那么它里面的代碼一定是會執行三遍的,舉例如下
for?x?in?['A',?'B',?'C']:
????print?23
##?輸出
23
23
23

##?特意舉一個輸出和?循環無關的例子,來說明?for?循環里面的代碼會執行?和列表長度同樣的次數(此處是3)
##?那我們在擴展一下,雙層?無關的例子:
for?x?in?['A',?'B',?'C']:
????print?11
????for?y?in?['1',?'2',?'3']:
????????print?23
##?輸出
11
23
23
23
11
23
23
23
11
23
23
23

##?上面這個例子,可能有些復雜??呃?也還行吧。?好了下面在講一下,在每一次循環中?x?的值都是固定,即便
##?是在其內部的另一個for?循環中調用,比如說:
for?x?in?['A',?'B',?'C']:
????print?'outer?loop:',x????
????for?y?in?['1',?'2',?'3']:
????????print?'inner?loop:',x
##輸出
outer?loop:?A
inner?loop:?A
inner?loop:?A
inner?loop:?A
outer?loop:?B
inner?loop:?B
inner?loop:?B
inner?loop:?B
outer?loop:?C
inner?loop:?C
inner?loop:?C
inner?loop:?C

##?解釋到這里,?多層循環已經不能再仔細了。。。,?貼開頭的代碼
for?x?in?['A',?'B',?'C']:
????for?y?in?['1',?'2',?'3']:
????????print?x?+?y
????????
##?輸出
...?省略了,?題主仔細想吧


0 回復 有任何疑惑可以回復我~
#1

夏天的夏7 提問者

非常感謝!
2016-04-22 回復 有任何疑惑可以回復我~

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的語法規定。

0 回復 有任何疑惑可以回復我~
#1

夏天的夏7 提問者

謝謝你~
2016-04-20 回復 有任何疑惑可以回復我~

(1)遇到寫for循環的時候需要在下一行空出4格再進行print

(2)x是第一重循環,y是第二重循環,for example:當X=A時,需要判斷Y這時候要把B中的所有數遍歷一遍,才能進行X=B運行。

0 回復 有任何疑惑可以回復我~
#1

夏天的夏7 提問者

謝謝。。。。
2016-04-20 回復 有任何疑惑可以回復我~
  1. python中的縮進的作用類似其他語言的{},用于區分程序塊,不縮進就代表和for語句并列關系,無法得到正確結果;

  2. 第二個for語句位置相較第一個for語句也縮進了,第二個for語句相較第一個for語句第一個層級。高層級執行一次,低層級要執行完畢,高層級才能執行第二次。

同在學習,有不懂,再交流,謝謝!

0 回復 有任何疑惑可以回復我~
#1

erudintros

第二個for語句位置相較第一個for語句也縮進了,第二個for語句相較第一個for語句低一個層級。高層級執行一次,低層級要執行完畢,高層級才能執行第二次。
2016-04-20 回復 有任何疑惑可以回復我~
#2

夏天的夏7 提問者

謝謝啦。。。
2016-04-20 回復 有任何疑惑可以回復我~

沒看懂第一個問題。

第二個x保持一個固定的數的時候,y會取三個不同的值做運算。

教程這話講得不是很嚴謹,不要太在意

0 回復 有任何疑惑可以回復我~
#1

夏天的夏7 提問者

謝謝~
2016-04-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758382    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

老師,向您請教兩個問題。^_^ @清波

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號