Python3基礎~応用③ 俳句を縦書きで表示する | ゆきみのWeb開発帳

ゆきみのWeb開発帳

IT系のSEもどきが、個人の勉強の為に、CakePHP3やPython3などでの開発記録を綴ります。
勉強不足な面もありますが、日々成長中です。

『Python3をサクッとやる』ことを目標にプログラムを書いて行きます。

なお、今回はローカル開発環境を作成せず、ブラウザでプログラミング・実行ができる「無料オンライン実行環境」  paiza.io で開発していきます。

 

お世話になったプログラミング学習サイト → paiza

(Python3以外にも無料で基礎が学習できる優良サイトです)

 

=========================

Python3基礎~応用の記事一覧

Python3基礎~応用① 西暦和暦一覧表の作成

Python3基礎~応用② リストを使ったランダムおみくじの作成

Python3基礎~応用③ 俳句を縦書きで表示する ←現在の記事

=========================

 

 

今回は、Python3で俳句を縦書きで表示するプログラムを作成します。

 

*******************************************

 

# coding: utf-8
# この中はコメントです
# Python3で俳句を縦書きで表示するプログラム
# 入力データは空白区切りのデータが渡される。

# numpyをインポート
import numpy as np

# 空のnumpy配列を作成
arr = np.array([])

# 空白区切りのデータを取得
input_lines = "夏草や つわものどもが 夢の跡".split(" ")

# 空白区切りのデータを1文字ずつnumpy配列に入れる
arr = np.append(arr, np.array([list(input_lines[0]), list(input_lines[1]), list(input_lines[2])]))

# 俳句の一番長い列の文字数分だけループ。インデックスが存在しない場合はスペース埋めする。
for i in range(len(arr[1])):
    if len(arr[0]) > i and len(arr[2]) > i:
        print(arr[2][i] + arr[1][i] + arr[0][i])
    elif len(arr[0]) <= i and len(arr[2]) > i:
        print(arr[2][i] + arr[1][i] + " ")
    elif len(arr[0]) > i and len(arr[2]) <= i:
        print(" " + arr[1][i] + arr[0][i])
    else:
        print(" " + arr[1][i] + " ")

*******************************************

 

このプログラムを実行すると、俳句が縦書きで表示されます。