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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

742閲覧

連続IF文で入力データの出力について

godgold777

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/17 15:00

★前提・実現したいこと
連続したIF文で入力したデータで文字列を表示したいのですが、
記述方法がわからないのでご教授ください。
正しく表示させるにはどのようにすればよろしいのでしょうか?
★発生している問題・エラーメッセージ
誕生日を入力した際に文字列を表示させたいのですが、違うデータが表示されます
例)
1月1日を101とした場合、
101を入力してから102を入力すると想定通りの結果が出力されるのですが、
先に102を入力した場合正しい結果が出ません

python

1print("when is your birthday??\n") 2print("   Example:march.7⇒ Enter 307\n") 3a=int(input('birthday')) 4if a == 101: 5 print("January.1 is New Year Day.") 6imi=int(input("What kind of day is it?→1\n")) 7if imi == 1: 8 print("First day of the year\n") 9b=int(input('birthday')) 10if b == 102: 11 print("January.2 is 月ロケットの日.") 12imi=int(input("What kind of day is it?→2\n")) 13if imi == 2: 14 print("Because the Soviet Union succeeded in launching the world's first lunar rocket Luna \n")

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

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

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

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

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

otn

2021/11/17 15:12

どういう結果を期待したのでしょうか?
godgold777

2021/11/17 15:31

分かりにくくてすみません 365日で任意の日付けを入れた時にその日の説明について文字列を表示し、つぎにさらに説明を表示したい時は指定した数字を入力するとさらに文字列が表示される仕組みを作りたいです それを例として記載したのですが、意味がわからない表現でした 曖昧な文面となりすみません
otn

2021/11/17 15:53

いや、質問はそうじゃなくて、「先に102を入力した場合」にどういう結果を期待したのかを聞いたのですが。 とりあえず、回答しました。
godgold777

2021/11/17 22:53

質問した内容と求める結果が分かりにくい問い合わせでした 整理してから再度質問させて頂きます 一旦クローズします ありがとうございました
guest

回答3

0

やりたいのは、こういうことでしょうか?

print("when is your birthday??\n") print("   Example:march.7⇒ Enter 307\n") a=int(input('birthday')) if a == 101: print("January.1 is New Year Day.") elif a == 102: print("January.2 is 月ロケットの日.") print("\n詳細を読みますか?\n") print("   Yes⇒Enter 1 No⇒Enter 2\n") imi=int(input('detail')) if imi == 1: if a == 101: print("First day of the year\n") elif a == 102: print("Because the Soviet Union succeeded in launching the world's first lunar rocket Luna \n") if imi == 2: exit()

一つの入力に対し、if文を複数書いて 条件分けしたい場合は、2つ目以降のifはelifと書きます。

Pythonで else if (elif) を使って複数の条件分岐を作る方法

投稿2021/11/17 22:55

coffeebar

総合スコア140

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

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

godgold777

2021/11/18 10:46

質問の仕方・説明が悪い中、表示したい結果が出る説明を頂きました ありがとうございます 考え方もわかりました 本当にありがとうございました
guest

0

ひとりの人には誕生日はひとつしかありません。
したがって、2回inputさせるのは変ですね。

コーディングについてのコメントですが、

python

1a=int(input('birthday'))

と書くよりも、変数名をbirthdayにして

python

1birthday=int(input('birthday'))

と書いた方が、後で読むときにわかりやすいですよ。

投稿2021/11/17 15:36

ppaul

総合スコア24666

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

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

0

ベストアンサー

「連続IF文」とお書きですが、実際にはIf文は連続しておらず、
1つ入力してそれをチェックして、次にもう1つ入力してそれをチェックして、を繰り返すプログラムなので、そういう処理結果になります。

本来どういう処理にしたかったのかは今のプログラムからは想像できないですが、「連続したIF文」にしたいのなら、そうすればいいのじゃないでしょうか。

・1つ入力
・ifでチェックして真なら出力
・ifでチェックして真なら出力
・ifでチェックして真なら出力
・ifでチェックして真なら出力

繰り返したいなら、全体をwhile等で繰り返す。

投稿2021/11/17 15:26

otn

総合スコア84804

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問