簡體   English   中英

我如何確定電源是否需要太長時間來計算? (Python)

[英]How do I find out if a power will take too long to compute? (Python)

我寫了一個生成隨機數學字符串的python程序,例如"2+3**4/3""3**3**50-2" ,然后使用eval()來計算它們。

計算"2+3**4/3"可以正常工作,但計算"3**3**50-2"將花費太長時間,因為它將是一個非常大的數字。 我需要在嘗試之前檢查功率是否太大而無法計算,或者我需要在一定時間后終止該函數。

由於這個函數需要運行幾萬次,所以效率很重要

我已經嘗試使用“多處理”和“線程”庫來終止線程,如果它需要超過一秒鍾,但是這些解決方案會大大減慢程序的速度。

有什么建議? 我完全被這個難住了。 謝謝。

我找到了一個快速簡單的解決方案:

try:
    eval("math.pow(a,b)")
except:
    print("too long to compute")

我沒有使用**使用math.pow因此如果 'a' 和 'b' 太大,它會返回一個溢出錯誤。 然后可以使用 try-except 語句處理異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM