我目前正在做一個小專案,該專案將接受用戶輸入,例如“50”,并將其轉換為浮點數,同時還將小數點放在左側,例如“0.50” - 這部分我按照我想要的方式作業,但是我現在似乎無法解決的問題是檢查該值是否介于其他兩個浮點值之間。這是我到目前為止所擁有的。
value = float(input("Enter number: "))
value /= 100
if 0.61 <= value <= 69:
value = value - 0.049 # don't worry about this part
elif 0.70 <= value <= 79:
value = value - 0.10 # don't worry about this part
"""
if value >= 0.61:
value = value - 0.049
if value >= 0.70:
value = value - 1.5
"""
當我輸入任何高于 69 的值時,例如 70 或 71 等等。程式似乎沒有意識到我正在嘗試以不同的方式調整值,就像輸入是 65 一樣,程式知道該做什么就好了。在底部是我嘗試過但沒有得到任何運氣的其他東西。
我使用 elif 錯了嗎?為什么我的第二個 if 陳述句無法正確閱讀?或者是否有一個函式或其他東西可以讓我檢查該值是否在兩個浮點范圍之間?
我很欣賞這些努力。
uj5u.com熱心網友回復:
歡迎來到SO。
編輯:應該符合您的評論的解決方案。
value = float(input("Input a number"))
if value >= 0.61 and value <= 0.69:
#whatever should happen here
elif value >= 0.70 and value <= 0.79:
#whatever you want to happen here
您真的需要將該值除以 100,如果是這樣,那么您將永遠不會專門進入第二個回圈,因為當您的值介于兩者之間時,將執行第一個 if 陳述句0.69 and 69,如果您將其除以 100,它可以是任何值,因此它永遠不會進入第二個 if 陳述句。
如果您確實想保留 /100 但執行 BOTH 陳述句,那么您可以簡單地通過更改elifinto 來實作,if因此如果陳述句為真,它也會被執行。這將執行兩個 if 陳述句。
value = float(input("Input a number"))
value /= 100
if value >= 0.61 and value <= 69:
#whatever should happen here
if value >= 0.70 and value <= 79:
#whatever you want to happen here
這樣,如果輸入的值是70結果,則兩個 if 陳述句都將被執行。
如果您可以省略 /100,那么這里的代碼可以作業并且只執行一個 if 陳述句。
value = float(input("Input a number"))
if value >= 61 and value <= 69:
#whatever should happen here
elif value >= 70 and value <= 79:
#whatever you want to happen here
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474989.html
上一篇:行在Listpython中重復
