質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

4回答

7659閲覧

西暦→和暦 もっと簡単に書けないでしょうか?

kamakura85

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/08/23 12:06

編集2018/08/23 12:14

Python初心者です。
自分なりに西暦を和暦に変換するコードを書いて見ましたが、なんだかとても長ったらしい気がしています。もっと簡潔に書ける方法が有ればご教授下さい。

python

1seireki = input("西暦は?") 2if int(seireki) < 1988: 3 syouwa = int(seireki) - 1925 4 print("昭和{}年です。".format(syouwa)) 5elif int(seireki) > 1988: 6 heisei = int(seireki) - 1988 7 print("平成{}年です。".format(heisei)) 8elif int(seireki) == 1988: 9 syouwa_heisei = input("何月?(1〜12の数字)") 10 if int(syouwa_heisei) > 1: 11 print("平成元年です。") 12 elif int(syouwa_heisei) == 1: 13 last = input("何日?") 14 if int(last) < 8: 15 print("昭和64年です。") 16 elif int(last) > 7: 17 print("平成元年です。")

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

産駒情報

  • Pythonで和暦フォーマットで日付(datetime)を表示するerajpを公開しました

https://qiita.com/kasajei/items/e59ecc398b2d9e22e5a8

  • 西暦と和暦の相互変換可能

https://github.com/furushei/wareki-python

投稿2018/08/23 12:47

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

年月日をバラバラに入力させて処理するという流れが「長ったらしさ」を生み出すひとつの原因になっていると思います。
標準ライブラリdatetimeを使って、datetimeオブジェクトとして入力データを受け取り、境目の日(たとえば1989-01-07)と比較するようにすれば、もっと簡潔な処理になるのではないでしょうか。

投稿2018/08/23 12:47

編集2018/08/23 12:54
KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

皆さま有難うございます。
datetime利用で確かにかなりすっきりしたものと出来そうです。
丁寧な回答大変有難うございました。

投稿2018/08/23 13:19

kamakura85

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私もまだ、Pythonを使い込んでいませんので、調べた結果のみですが、

datetime オブジェクトを使ってはだめでしょうか?

正確には、 "8.1.3. date オブジェクト" です。

Python

1import datetime 2 3# ..... 4 5showa = datetime.date(1925, 12, 26) 6heisei = datetime.date(1989, 1, 8) 7 8# 日付入力 inDate とする。 9 10if (date >= heisei): 11 # これは平成 12 heiseiYear = inDate.Year - heisei.Year + 1 # 平成n年 13

こんな感じではどうでしょう。

投稿2018/08/23 12:53

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問