我试图制作一个简单的理想气体计算器,但由于某种原因,我似乎无法让我的任何 if 语句返回任何值。
def Ideal():
p = input("Pressure:")
v = input("Volume:")
n = input("Moles:")
t = input("Temperature in K:")
r = 8.31
if p is None:
y =(n*r*t)/v
return y
elif v is None:
return(n*r*t)/p
elif n is None:
return (p*v)/(r*t)
elif n is None:
return (p*v)/(n*r)
我从上面的代码到这个
def input_float(prompt):
result = input(prompt)
if result:
return float(result)
else:
return None
def Ideal():
p = input_float("Pressure:")
v = input_float("Volume:")
n = input_float("Moles:")
t = input_float("Temperature in K:")
r = 8.31
if p is None:
y =(n*r*t)/v
print(y)
elif v is None:
u = (n*r*t)/p
print(u)
elif n is None:
i = (p*v)/(r*t)
print(i)
elif t is None:
o = (p*v)/(n*r)
print(o)
else:
print("This should never happen")
理想的()
现在效果很好。但我猜有一种更简单的方法可以解决这个问题,因为我是来这里学习的,所以我很想在这里发表意见。