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 = '')
4

1 回答 1

0

我想这是一个家庭作业,如果你自己找到解决方案,你会得到更多。

首先,如果要交替AABB在同一层打印时,必须依赖x(因为x改变时level不改变)。此外,每个级别都以不同的模式开始。这种方式你可能想要测试(level + x) % 2 == 0(选择简单的测试方式)。如果布尔表达式为真,则打印一个模式,否则打印另一个。

不要忘记循环print()后没有参数。x

我更喜欢简单地使用range()-- 一个参数。如果pattern_size为 3,则第一个循环可以通过级别 0、1、2。但是,第二个for循环必须至少循环一次。然后你必须通过range(level + 1)

于 2012-09-25T21:28:07.643 回答