2012-09-25 168 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)