這看起來很簡單,但由於某些原因,它不起作用。我需要在某些時候輸出一個值,但if語句似乎沒有評估。以下是我想要做的基本版本。如果聲明不起作用(Python)
dt=.1
while t<=10:
if t==5:
print('yes')
t+=.1
我已經在我的代碼字面上嘗試這樣做,我甚至已經受夠了印花T爲每一次的一步,但它不會打印「是」。我有我的代碼中的其他if語句,如
if 10<=t<60:
do stuff
以及這些if語句完美運行。我已經嘗試過t==5.0
和t==float(5)
,以防萬一它需要但它也不起作用。這讓我瘋狂,所以如果有人能幫助我,那會很棒。我在Spyder上在Ubuntu 12.4上運行了這個功能,我收到一條消息,說import sitecustomize
失敗。這與它有什麼關係?我已經使用該消息運行了一段時間的代碼,並且之前沒有造成任何問題。
編輯
得到它的工作,我用
if int(t)==5 and t<5+dt:
感謝您的幫助
[浮點不精確(http://docs.python.org/2/tutorial/floatingpoint.html) – jamylak 2013-04-11 05:16:29
HTTP:/ /docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html計算機科學家應該知道什麼關於浮點運算 – Patashu 2013-04-11 05:17:37