# -*- coding: utf-8 -*-
"""
多重ループの練習（任意範囲の九九の表）
"""


def main():

    # 縦の最大値の設定（30以下の正の整数）
    num_vmax = 0
    while (num_vmax <= 0) or (num_vmax > 30):
        num_str = input("縦の最大値：")
        # 入力の方法について例外を利用してみる
        try:
            # 整数化
            num_vmax = int(num_str)
        except ValueError:
            # 整数化に失敗ならループ継続（再入力）
            continue
    
    # 横の最大値の設定（30以下の正の整数）
    num_hmax = 0
    while (num_hmax <= 0) or (num_hmax > 30):
        num_str = input("横の最大値：")
        # 入力の方法について例外を利用してみる
        try:
            # 整数化
            num_hmax = int(num_str)
        except ValueError:
            # 整数化に失敗ならループ継続（再入力）
            continue
    
    print()  # 採点の都合上の空行

    # 列方向の目盛表示
    print("   |", end="")
    for j in range(1, num_hmax + 1):
        print(f"{j:4}", end="")
    print("\n---+" + "----" * num_hmax)

    """ 指示ここから """
    # 九九の表が正しく表示されるよう，for文を設定しなさい．
    # 表の縦と横，および，範囲についてきちんと考えること．
    for i in range(1, num_vmax + 1):
        print(f"{i:2} |", end="")
        for j in range(1, num_hmax + 1):
            ans = i * j
            print(f"{ans:4}", end="")
        print()
    """ 指示ここまで """


if __name__ == "__main__":
    main()
