假设我有一个螺旋层,其中内径和层数是可变的。但层数有指定(角度)。 示例:
ID = 20
Layers = (45, 60, 30)
Layer_thickness = 0.5
我想输出一个数组,其中包含'Layers'中每个组件的计算。此计算将使用第一个组件的ID,并且对于每个前进组件的计算将添加另一个厚度层
带有示例公式的代码的开头是:
a = []
for n, i in Layers:
a0 = abs((math.pi*ID) / math.tan(math.radians(i)))
a.append(a0)
我无法弄清楚如何根据图层的索引增加变量ID的厚度。我知道我可以很容易地创建另一个看起来像(20,20.5,21)的数组但是我想保留输入数组'Layer'可以有更多或更少组件的灵活性。
对于这个例子,有人可以提出一个解决方案,该解决方案将遵循最后一个约束并输出以下数组(不必截断):
a = [37.27, 67.73, 43.66]
答案 0 :(得分:0)
如果您尝试获取索引以生成(20, 20.5, 21)
,请尝试
ID = 20
Layers = (45, 60, 30)
Layer_thickness = 0.5
for i, layer in enumerate(Layers):
value = i*Layer_thickness + ID
print(value, layer)
否则,您只是想要添加到ID,就像正常
一样for layer in Layers:
value = ID
print(value, layer)
ID += Layer_thickness