KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

CodeIQの「進捗ないですマーク」解答

CodeIQの「進捗プログレスマーク」を解いたので、私が作成したコードを晒します。

11月7日の10時に回答締切なので、ネタバレを避けるためそれ以降に投稿しています。

www.kato-eng.info

設問

「進捗ないですマーク」は高さ X 幅 X の正方形の中に N のカタチをした文字を半角小文字の「n」で描きます。
すべての行の左右の端は「n」です。
各行の行番号を L とすると L 列目は「n」です。
それ以外を半角ドット「.」にします。

例1:高さ 1 幅 1 の進捗ないですマーク

n

例2:高さ 3 幅 3 の進捗ないですマーク

n.n
nnn
n.n

例3:高さ 5 幅 5 の進捗ないですマーク

n...n
nn..n
n.n.n
n..nn
n...n

仕様

  • 標準入力として1から100の整数が与えられる。
  • 標準入力の数字が奇数の場合には「進捗ないですマーク」を出力する。
  • 標準入力の数字が偶数の場合には「invalid」を出力する。

解答

言語はPython3を選択しました。

# coding: utf-8

number = int(input().strip().upper())

if number % 2 == 0:
    print("invalid")
else:
    for num in range(number):
        for n in range(number):
            if n == 0 or n == number - 1:
                print("n", end="")
            elif n == num:
                print("n", end="")
            else:
                print(".", end="")
        print()