@

■ step03a:if 文を利用する


def scale_03a(n):
    s = ""
    for e in range(n):
        if e%5==0:
            s += "+"
        s += "."
    return s

演算子 * を使って、引数 n と同じ個数だけ、文字列 "." を連結します。

>>> s; scale_03a(len(s))
'Type license() to see the full license text'
'+.....+.....+.....+.....+.....+.....+.....+.....+...'

ここでは、step00 と違って、実引数には文字列の長さ len(s) を指定します。

■ step03:if/else 文を利用する


def scale_03(n):
    s = ""
    for e in range(n):
        if e%5==0:
            s += "+"
        else:
            s += "."
    return s

for 文を使って、引数 n と同じ個数だけ、文字列 "." を連結 += します。

制御変数 e は、in に続く数列 range(n) の各要素を順に参照するので、for ブロックに記述したコードの断片を n 回だけ繰り返して実行します。

>>> s; scale_03(len(s))
'Type license() to see the full license text'
'+....+....+....+....+....+....+....+....+..'