pontz_rwのブログ

プログラミング等の備忘録

ITP1_5_C: Print a Chessboard

チェック柄の描画 | プログラミング入門 | Aizu Online Judge
繰り返し構文を用いて2種類の文字列を出力する問題


現在の行と列の番号の合計が奇数か偶数かで出力する文字列が変わります。


解答1

while True:
    H, W = map(int, input().split())
    if H == W == 0:
        break
    for i in range(H):
        for j in range(W):
            print('#.'[(i + j) % 2], end='')
        print()
    print()


解答2

while True:
    H, W = map(int, input().split())
    if H == 0 and W == 0:
        break
    line = ['#.' * (W // 2) + '#' * (W % 2), '.#' * (W // 2) + '.' * (W % 2)]
    for i in range(H):
        print(line[i % 2])
    print()


解答3

while True:
    H, W = map(int, input().split())
    if H == W == 0:
        break
    line = '#.' * (W // 2 + 1)
    for i in range(H):
        if i % 2:
            print(line[1:W+1])
        else:
            print(line[:W])
    print()