我在包含的圖像上看到的問題有問題。由於我在Python中所掌握的知識很少,所以我很難找到從這個問題開始的地方。特別是,如何根據該公式製作功能?用戶必須能夠輸入x_i和x_(i-1)的值。所有的答案將不勝感激。我不希望完整的答案,我怎麼可以開始這只是一些想法...根據公式編寫函數(Python)
0
A
回答
3
讓我們打破下來。首先,如何創建功能pathlength
?像這樣:
def pathlength(x, y):
return 42 # The length is 42 miles
如您所見,它接受x,y
參數在問題中指定。它不是計算答案,而是返回一個制定的答案。更多關於如何在一分鐘內找到答案。
用戶可以調用此功能的方法是,像這樣:
length = pathlength([0, 7, 9, 5, 2, 0], [0, 1, 3, 2, 2, 0])
正如你所看到的,我已經通過x
值的列表和y
值的列表。
現在我們知道如何申報的功能,以及如何調用該函數,所有剩下的就是數學。問題說我們需要總結一系列的條款。我們的第一步是以方便的方式創建這些條款。該系列產品運行從1
到n-1
(即,求和有較少的一個步驟,比我們的數據有
表示值,我們可以用切片的符號:。
x[1:] # The X(i) values from 1 to n-1
x[:-1] # The X(i-1) values from 1-1 to n-1-1
,類似的還有y
這將是方便有兩個X值和主題相關的兩個Y值,這是zip
工作:
zip(x[1:], x[:-1], y[1:], y[:-1])
zip
產生元組的列表,每個元組是關係到i
特定值的變量。
現在要考慮的i
每個值依次爲:
for xi, xi1, yi, yi1 in zip(x[1:], x[:-1], y[1:], y[:-1]):
pass
這個循環遍歷所有條目,但不執行實際的數學。
現在我們需要用勾股定理公式來確定兩個d的距離。
total_distance = 0
for xi, xi1, yi, yi1 in zip(x[1:], x[:-1], y[1:], y[:-1]):
leg_distance = ((xi-xi1)**2+(yi-yi1)**2)**.5
total_distance = total_distance + leg_distance
最後,我們需要的是價值傳達給我們的調用:
def pathlength(x, y):
total_distance = 0
for xi, xi1, yi, yi1 in zip(x[1:], x[:-1], y[1:], y[:-1]):
leg_distance = ((xi-xi1)**2+(yi-yi1)**2)**.5
total_distance = total_distance + leg_distance
return total_distance
嗯。還有另一種方法可以做到這一點。許多循環結構可以被替換爲列表解析,因爲這可以。嘗試使用Google python list comprehension
和python generators
確定 什麼這作用:
def pathlength(x,y):
return sum(
((xi-xi1)**2+(yi-yi1)**2)**.5
for (xi, xi1, yi, yi1) in zip(x[1:], x[:-1], y[1:], y[:-1]))
0
我沒有看到任何圖像。沒有它就很難回答。
但是如果你需要在一個字符串變換公式來工作的代碼,你需要一個解析器和表達式求值。我建議Google搜索一個Python表達庫,並選擇最適合您的那個。
相關問題
- 1. 用Python編寫公式到Excel
- 2. 用Python編寫公式到Excel Excel
- 3. 函數式編程公理
- 4. 在python中寫數學公式
- 5. 在JavaScript中編寫數學公式
- 6. 在html中編寫公式
- 7. Array分頁 - 編寫公式
- 8. 創建oracle函數根據excel計算字段公式
- 9. Python - openpyxl在使用公式在現有xlsx上編寫後讀取xlsx數據
- 10. Python的函數式編程
- 11. PHP可以根據示例XML文件編寫SOAP函數嗎?
- 12. 可能使用R編寫Excel公式或數據驗證?
- 13. 根據SQL計數編寫php代碼
- 14. 根據DTD編寫XML
- 15. Excel函數/公式
- 16. 如何在Python中編寫函數
- 17. 如何在python中編寫函數?
- 18. 在python中編寫函數remove_duplicates
- 19. 如何編寫一個函數在Python
- 20. 在Python中編寫遞歸函數
- 21. 如何在Python中編寫函數
- 22. 在Python中編寫csv文件:函數編寫器出錯
- 23. 根據另一個單元值將公式寫入單元格
- 24. 通過python編寫函數重新格式化mongodb
- 25. 如何更改Python中寫入函數的數據格式?
- 26. python ElementTree寫函數
- 27. 如何在matlab中編寫格式化的數學公式?
- 28. 在VBA中編寫公式Excel
- 29. 如何在c#中編寫公式?
- 30. 編寫php函數
你知道如何計算總和?你知道如何計算平方根嗎?如果兩者的答案都是「是」,那麼是什麼阻礙了你? – Joni
Python支持列表結構,數組等,所以你想從那裏開始查找Python語法和這些例子。平方根函數只是一個庫調用。總結將是一個Python循環結構,它也很容易找到在線示例。 – lurker
對於你的函數的參數 - 閱讀關於python列表,之後 - 試圖找出如何列出總和(提示 - 閱讀關於列表解析),所以你可以使[4,5]中的列表[4,5] ]和[3,3],如[1 + 3,2 + 3]。 Python是非常有趣的語言,我不認爲你會遇到麻煩寫這個函數 –