nishiyamasuの日記

忘れやすいので、メモ。。。

(Python)print文で文字を何個かおきに出力する

文字を何個かおきに出力するというのは、以下のようなイメージです。

a  a  a  a  a  a

割り算(と余り)を利用してみましょう。 以下のコードではforループを使い、i番目の時に、iが3で割り切れるときには"a"、割り切れないときは" "を出力します。 終端を分かりやすくするために、"<-"を最後に出力しています。

コード

for i in range(20):
    if i % 3 == 0:
        print("a", end="")
    else:
        print(" ", end="")
print("<-")

出力

a  a  a  a  a  a  a <-

関数化して、割る数を変更できるようにしてみましょう。

def print_step(n):
    for i in range(20):
        if i % n == 0:
            print("a", end="")
        else:
            print(" ", end="")
    print("<-")


print_step(2)
print_step(3)
print_step(5)
print_step(8)

出力

a a a a a a a a a a <-
a  a  a  a  a  a  a <-
a    a    a    a    <-
a       a       a   <-

こういう遊びもたまにはいいんでない?笑