我一直在試圖編寫這個程序,並尋找修復/這個問題的答案。我是寫Python的新手。Python少於/大於問題
BatPower = "100"
if BatPower >= "70":
print("BatPower - GOOD")
elif BatPower <= "50":
print("BatPower - OK")
elif BatPower <= "30":
print("BatPower - CRITICAL")
else:
print("CRITICAL ERROR READING BATPOWER!")
所以你可以看到 'BatPower = 「100」' 但不是返回值 「BatPower - GOOD」 返回 「BatPower - 確定」。當我輸入'BatPower =「2」'時。它返回「BatPower - 確定」
這裏有一些其他的輸入與輸出有:
BatPower = "75"
BatPower - GOOD
BatPower = "30"
BatPower - OK
BatPower = "29"
BatPower - OK
BatPower = "99"
BatPower - GOOD
BatPower = "1"
BatPower - OK
正如你所看到的,我從來沒有得到過臨界產量。良好的輸出效果很好,直到它到達100
編輯: 最後的工作代碼:
BatPower = 60
BatStatus = "Passing..."
if BatPower >= 70:
BatStatus="BatPower - GOOD"
elif BatPower >= 30:
BatStatus="BatPower - OK"
elif BatPower >= 0:
BatStatus="BatPower - CRITICAL"
else:
BatStatus="CRITICAL ERROR READING BATPOWER!"
print(BatStatus)
感謝的幫助!
不要使用字符串來指定權力 - Python無法比較那樣的字符串。使用數字代替 – darthbith
將字符串[按照字典順序](http://en.wikipedia.org/wiki/Lexicographical_order)進行比較,例如''100'''2''。 – jonrsharpe
@MartinPieters:OP有另一個與字符串比較無關的問題。程序的邏輯看起來不會返回CRITICAL,因爲任何數字'n <= 30'都滿足'n <= 50',這首先被評估。我想在回答中解決這個問題。 – ericmjl