事情是這樣的 同乙份** c++跑的通 翻譯成python後執行出錯
l_method2 = math.sqrt((5
* rotated_z31 + rotated_z11)/(
6* rotated_z11)
)
經過反覆測試 除錯發現
在c++中 執行sqrt(x)(開平方)函式時 當x為負數時 結果為 -nan(ind) 不會報錯
但是在python中 就會報 valueerror 的錯誤
同理 當除數為零時 c++的執行結果為 -nan(ind) 不會報錯
但是在python中 就會報 zerodivisionerror 的錯誤
再有 當分子分母同時為零時 python會給出警告
runtimewarning: invalid value encountered in double_scalars
當然 警告不會影響程式的執行 不用理會
此時 要想python**也可跑通
可以使用try…except…異常丟擲
更新在python中 6 // -5 的結果為 -2
而在c中 6 / -5 的結果為 -1
要使python中的結果等於-1 應使用int(6 / -5) 這樣結果就是-1了 哈哈 神奇呀
C 和python中的變數定義時的區別
這張圖比較全面的顯示了python和c變數定義時的區別 c c 變數對應記憶體中的一塊區域,當修改這個值時,直接修改記憶體區域中的值。python 變數只是對一塊存放指定值的記憶體區域的引用,賦值時是讓該變數引用另一塊存放新值的記憶體區域。因此在賦值時等號左邊的變數類似於標籤,等號右邊的是值對應的位...
python和c 的區別
1 執行效率 c python python 和c 最終都會變成cpu指令來跑,但一般情況下,比如反轉和合併兩個字串,python最終轉換出來的cpu指令會比c 多很多。首先,python東西比c 多,經過了更多層,python中甚至連數字都是object 其次,python是解釋執行的,和物理機c...
LocalDateTime的轉換和計算時間的差
localdatetime now localdatetime.now system.out.println 計算兩個時間的差 localdatetime end localdatetime.now duration duration duration.between now,end long da...