編輯:我發現我的問題= X事實上,我意外地從另一個迭代器中引入了一個值,該值在操作中導致了一個靜態值。我的錯。劃分使用字典值不想要的四捨五入
問題:我刪除了問題還是留下了問題?
我正在嘗試編寫一個腳本,它從嵌套字典中讀取值,然後執行除法操作並將其作爲鍵值對在嵌套字典中返回。
於是我開始了與此:
main_dict = {nested: {first_number: int,
second_number: int}
nested1: {first_number: int,
second_number: int}
...
}
我想要得到的是:
main_dict = {nested: {first_number: int,
second_number: int
wanted_number: float}
nested1: {first_number: int,
second_number: int
wanted_number: float}
...
}
是什麼做的是:
for nested in main_dict:
main_dict[nested]['wanted_number'] = float(main_dict[nested]['first_number'])
/float(main_dict[nested]['second_number'])
因此,例如,FIRST_NUMBER = 11,second_number = 15,我應該得到
main_dict[nested]['wanted_number'] = 0.733...
而是我得到
main_dict[nested]['wanted_number'] = 1.0
到目前爲止,我曾嘗試使用:from_future進口部,numpy的的true_division,這都應該是多餘的,因爲我使用Python 3.4。
輸出類型爲float(),並且我試圖在除法之前將值顯式轉換爲float()。我也嘗試過一個是float(),另一個是int()。我也嘗試使用帶有getcontext()的十進制模塊。prec = 6.
這是執行函數的一個特性,或者可能是值指向bin的方式?
我通過調用整個main_dict並手動檢查數字來檢查。這就是我發現錯誤的方式。我還調用main_dict [nested] ['first_number'],main_dict [nested] ['second_number']和main_dict [nested] ['wanted_number']來檢查所有類型和數字。 wanted_number返回float和1.0。我也只是檢查和腳本15/15讓我0.0所以我真的很困惑 – cyneo
我認爲你正在尋找錯誤的地方的錯誤。它在你的代碼中的其他地方。張貼顯示此錯誤的最短片段,以便我們可以複製它 –