ターミナルで動く閏年判定プログラム
まず、こちらがターミナル上で動作する基本的な閏年判定プログラムです。
def checkUruu(birth):
if birth < 1582: # 定義されていない年代
print(f'{birth}年は閏年という概念が存在しません')
elif birth % 400 == 0:
print(f'{birth}年は閏年です')
elif birth % 100 == 0:# 平年
print(f'{birth}年は閏年ではありません')
elif birth % 4 == 0:
print(f'{birth}年は閏年です')
# その他すべて平年
else:
print(f'{birth}年は平年です')
birth = int(input("西暦を入力してください: "))
checkUruu(birth)
入れて欲しい要素
1. web上での西暦インプット
現状、ターミナルでの入力を受け取っているので、これを修正したいです。
2. 出力の修正
判定結果がターミナル上に出ます。これをweb上に表示させたいです。
3. 判定ボタンの実装
判定ボタンを設置し、押下時に閏年判定がされて結果が返ってくるようにして欲しいです。
完成イメージ
ヒント
1. 西暦インプットについて
数値をそのまま受け取れるコンポーネントに以下の2つがあリマス
2. 出力の表示について
テキストを表示できそうなものを探してみよう
https://docs.streamlit.io/develop/api-reference
3. 判定ボタンについて
ボタンを押した際、関数を実行するにはこの例のどこを変えるべきでしょうか
まとめ
Streamlitを使えば、ターミナル上で動いていたプログラムも、わずか数行のコード変更で簡単にWebアプリ化することができます。今回の閏年判定アプリのようなシンプルなものでも、ユーザーにとっては視覚的にわかりやすく、使いやすい形で提供できる点が大きなメリットです。