91038


最近Pythonを勉強し始めましたが、課題で行き詰まっています。  
どなたかアドバイスください。

課題の指示は以下の通り。

  * Between 37 and 38 degrees Celsiusの時 Normal Body temperatureと表示させる
  * Between 38 and 39 degrees Celsiusの時 Is a Feverと表示させる
  * Between 39 and 40 degrees Celsiusの時 Is a High Feverと表示させる
  * Between 40 and 41 degrees Celsiusの時 Is A Very High Feverと表示させる
  * Over 41 degrees Celsiusの時 Is A Serious Emergencyと表示させる

コードは以下の通り作成しました。ひとまず指示通りの結果は表示させることはできたのですが、if elseを使う場合はどのように記述したら良いでしょうか？

[code]

    print("What is your body tempereture? ", end="")
    n=float(input())
    
    if n>= 37.0 and n<=38.0:
        print("Nomal Body Tempereture")
        
    if n>=38.1 and n<=39.0:
        print("Is a Fever")
        
    if n>=39.1 and n<=40.0:
        print("Is a High Fever")
    
    if n>=40.1 and n<=41.0:
        print("Is A Very High Fever")
        
    if n>=41.1:
        print("Is A Serious Emergency")
    
[/code]


CC BY-SA 4.0
2022-09-11T01:40:03.600
91034
2022-09-12T16:15:13.160
2022-09-12T16:15:13.160
3060
54340
question
python
if 文を列挙する記述から、if else を使った記述に変更したい


Python 公式マニュアルのチュートリアルを読むと良さそうです:
<https://docs.python.org/ja/3/tutorial/controlflow.html#if-statements>

`if` は「この条件に合ったら○○する」という制御構文であり、同じような感じで `else` は「それ以外の場合は○○する」、`elif`
は「それ以外の場合で、この条件に合ったら○○する」という制御構文です。

このためたとえば以下のように書くことができます。

[code]

    if n >= 37.0 and n <= 38.0:
        print("Normal Body Temperature")
    elif n <= 39.0:
        print("Is a Fever")
    elif n <= 40.0:
        print("Is a High Fever")
    else:
        # 以下省略します。
        print("Something else")
    
[/code]

この書き方の良いところは、少し条件を省略できるところです。つまり、ひとつ前の条件で既にチェックされていることはチェックしなくて良くなります。このため、実は今回の場合結果的にバグめいた挙動がひとつ直っており、「38.01」みたいな入力があっても何かしら出力されるようになっています。


CC BY-SA 4.0
2022-09-11T07:24:19.127
91038
2022-09-11T07:24:19.127
19110
91034
answer