2012-09-25 226 views
0

如果輸入爲3,我如何實現以下模式?嵌套的模式

AA

BBAA

AABBAA

最遠的我可以得到爲:

AA

BBBB

AAAAAA

我曾嘗試以下:

#mod operator used to alternate patterns 

pattern_size = int (input ("Input height : ")) 
for level in range (1, pattern_size +1): 
    for x in range (level): 
     # print AA if remainder != 0 
     if level % 2 != 0: 
      print ("AA", end = '') 

     # print BB if remainder = 0 
     if level % 2 == 0: 
      print ("BB", end = '') 

回答

0

我想這是一門功課,你會得到更多,如果你會發現你自己的解決方案。

首先,如果你想交替AABB在同一水平上進行打印時,它必須依賴於x(因爲x更改時level不會改變)。而且,每個級別都以不同的模式開始。這樣你可能想要測試(level + x) % 2 == 0(選擇簡單的測試方法)。如果布爾表達式爲true,則打印一個圖案,否則打印另一個圖案。

不要忘記在x循環後沒有參數的print()

我更喜歡簡單的使用range() - 只有一個參數。如果pattern_size爲3,則第一個循環可以通過級別0,1,2。但是,第二個for必須循環至少一次。那麼你必須通過range(level + 1)