首页 > 解决方案 > if/elif/else 循环在满足 if 时执行 else 语句

问题描述

我将以下代码作为函数的一部分:

print("Is the fluid water/steam or R-134a: ")
fluid = input()
if fluid.casefold == "water":
    hin = CP.PropsSI('H','P', pin,"T",lower_temp+zeroC, 'water')
    hout = CP.PropsSI('H','P', pout,"T",upper_temp+zeroC, 'water')
    return
elif fluid.casefold == "r134a" or fluid.casefold == "r-134a":
    hin = CP.PropsSI('H','P', pin,"T",lower_temp+zeroC, 'R134a')
    hout = CP.PropsSI('H','P', pout,"T",upper_temp+zeroC, 'R134a')
    return
else:
    print("Invalid Fluid")
    params()

我的代码总是执行 else 语句,而不是 if 或 elif 语句。我是否错误地使用了 casefold,或者是否还有其他一些我没有看到的错误

标签: pythonpython-3.xif-statement

解决方案


利用fuild.casefold()

print("Is the fluid water/steam or R-134a: ")
fluid = input()
if fluid.casefold() == "water":
    hin = CP.PropsSI('H','P', pin,"T",lower_temp+zeroC, 'water')
    hout = CP.PropsSI('H','P', pout,"T",upper_temp+zeroC, 'water')
    return
elif fluid.casefold() == "r134a" or fluid.casefold() == "r-134a":
    hin = CP.PropsSI('H','P', pin,"T",lower_temp+zeroC, 'R134a')
    hout = CP.PropsSI('H','P', pout,"T",upper_temp+zeroC, 'R134a')
    return
else:
    print("Invalid Fluid")
    params()

推荐阅读