為什么在 int 和 float 中都存在除法錯誤?以及如何糾正它?print(int(231871064940156750/5),231871064940156750/5%100)# output: 46374212988031352 52.0# correct number: 46374212988031350
2 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
這里似乎有兩個問題。我將解決您的打印語句的第一部分,即print(int(231871064940156750/5)):在 python 中查看此相關帖子長整數除法錯誤...
我嘗試了其中的建議(使用兩個斜線),結果達到了您預期的商數。
>>> print(int(231871064940156750//5))
46374212988031350
>>>
Informit.com解釋說,“...Python 有兩個除法運算符,一個用于經典除法的單斜杠字符和一個用于“floor”除法的雙斜杠(向下舍入到最接近的整數)。經典除法意味著如果操作數都是整數,它將執行地板除法,而對于浮點數,它代表真正的除法?!?/p>

精慕HU
TA貢獻1845條經驗 獲得超8個贊
你需要的是
print(int(231871064940156750//5),231871064940156750/5%100)
使用 // 而不是 / 進行整數除法是為了與 Python 3.x 兼容,而不需要額外的努力。
對于 / 和 // 運算符
添加回答
舉報
0/150
提交
取消