初めて Python に入って温度変換プログラムを書いたとき、if と elif の使用に問題があることがわかりました。
tem = input()
if tem[-1] in ['F','f']:
F = float(tem[0:-1])
C = (F-32)/1.8
print("%.2fC" %C)
if tem[-1] in ['c','C']:
C = float(tem[0:-1])
F = C*1.8 + 32
print("%.2fF" %F)
else:
print("输入格式错误")
入力: 32F
出力: 0.00C 入力形式エラー
最初の if が実行されると、引き続き 2 番目の if が条件を満たさない場合は、else を実行します。
入力: 25C
出力: 77.00F
最初の if が条件を満たさない場合、2 番目の if が条件を満たしているかどうかの判定が継続され、else は実行されなくなります。
if: 判断したい条件が走査されているかどうかに関係なく、下への走査が継続されます;
elif: 対応する条件文が走査されると、後続のすべての elif と else は実行されません。