我試圖做一個簡單的理想氣體計算器,但出於某種原因,我似乎無法得到我的任何if語句來返回任何值。當我運行我的程序時,我的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")
理想()
,現在,它的偉大工程。但我猜測有一個更簡單的方法可以解決這個問題,因爲我在這裏學習我很想在這裏聽取意見。
Python是選擇縮進,你可能想看看。 – paxdiablo 2013-05-08 05:14:41
'if'語句不是函數,所以它們不是爲了「返回」任何東西;我相信你的意思是你的if語句永遠不會評價爲「真」。 (原因可以在icktoofay的回答中解釋。) – 2013-05-08 05:17:55
它通常是一種很好的做法,即使if語句中的一個條件應該始終存在,避免在末尾放置一個else語句的情況下避免使用if語句。是真實的。你在'else'塊中做什麼可能取決於你的代碼的細節(引發異常有時是合適的)。至少,做一些像'print(「這不應該發生」),這樣你就可以看到是否有意想不到的事情發生(就目前情況而言)。 – Blckknght 2013-05-08 05:19:51