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できます(テストの簡単な方法を選択してください)。ブール式がtrueの場合は、一方のパターンを印刷し、そうでない場合はもう一方のパターンを印刷します。

ループprint()の後に引数なしで忘れないでください。x

range()私は、単一の引数を使用した--のより単純な使用法を好みます。が3の場合pattern_size、最初のループはレベル0、1、2を通過できます。ただし、2番目のforループは少なくとも1回ループする必要があります。次に、を通過する必要がありますrange(level + 1)

于 2012-09-25T21:28:07.643 に答える