我在包含的图像上看到的问题有问题。由于我在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是非常有趣的语言,我不认为你会遇到麻烦写这个函数 –