ue_py
@ue_py

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

条件分岐について

解決したいこと

条件分岐を勉強しています。
変数monthにinput関数を使って数字を入力し、if文で条件分岐するようにしたいです。

発生している問題・エラー

ターミナルに数字「7」を打つと
→「7月の季節は不明です。」
となってしまい、条件に従ってくれません。

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

month = input('何月ですか?→   ')
if month in {12, 1, 2}:
    season = ''
elif month in {3, 4, 5}:
    season = ''
elif month in {6, 7, 8}:
    season = ''
elif month in {9, 10, 11}:
    season = ''
else:
    season = '不明'
msg = month + '月の季節は、' + season + 'です'
print(msg)
0

3Answer

入力された「7」が文字列として判定されていると思います。文字列の'7'は数値の7とは等しくないじゃないでしょうか?input()で取得した値をint()でさらに囲ってみてください。msgで出力するときは文字列としてまた変換して下さい

2Like

input()で返される値は数字(int)ではなく文字列(str)なので、
不明となります。input()int()で囲むことで文字列から数字に変換できます。

month = int(input('何月ですか?→   '))

monthと文字列を結合するときは、monthstr()で囲み文字列に変換してから
結合してください。数字と文字列は結合できません。

msg = str(month) + '月の季節は、' + season + 'です'

もうちょっと簡単にしたかったら、fstringというものを使って

msg = f"{month}月の季節は、{season}です"

という書き方もできます。

0Like

Your answer might help someone💌