не могу сообразить где ошибка?
код:
from prettytable import PrettyTable
def calc(H,W,Lo,LS):
H=10
q=0.8
p=1.1
d=115
P=3.14*(d/2)**2/1000*p
W=(P/q)**(0.5)
Lo=0.5*q*W
LS=0.9*W
Lb=[12,15,13,12,14,16,12.5,12.3,12.2,13,13.2]
def calc():
Lc=Lb-LS
Q=P*(Lb-LS)
a=Q/(q*W*H)
b=W
Q1=Lc*0.38*P
Q2=Lc*0.62*P
n=66
Qsum=n*Q
Ss=LS*n*P*1.6
columns = ['Lb','Q','a','b','Q1','Q2','n','Qsum','Ss']
tab = PrettyTable(field_names=columns)
tab.add_rows([calc(Q,a,b,Q1,Q2,n,Qsum,Ss)for i in Lb])
print(tab)
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Ошибка в том, что вы пытаетесь использовать код из ответа на ваш предыдущий вопрос, не разобравшись в решении и не понимая как работают функции в Python.
def calc(Lb, H, q, p, d, n=66):
P=3.14*(d/2)**2/1000*p
W=(P/q)**(0.5)
Lo=0.5*q*W
LS=0.9*W
Lc=Lb-LS
Q=P*(Lb-LS)
a=Q/(q*W*H)
b=W
Q1=Lc*0.38*P
Q2=Lc*0.62*P
Qsum=n*Q
Ss=LS*n*P*1.6
return [Lb,Q,a,b,Q1,Q2,n,Qsum,Ss]
Lb=[12,15,13,12,14,16,12.5,12.3,12.2,13,13.2]
columns = ['Lb','Q','a','b','Q1','Q2','n','Qsum','Ss']
tab = PrettyTable(field_names=columns, float_format=".2")
tab.add_rows([calc(Lb=l, H=10, q=0.8, p=1.1, d=115, n=66) for l in Lb])
print(tab)
результат:
+-------+--------+------+------+-------+-------+----+---------+---------+
| Lb | Q | a | b | Q1 | Q2 | n | Qsum | Ss |
+-------+--------+------+------+-------+-------+----+---------+---------+
| 12 | 98.21 | 3.25 | 3.78 | 37.32 | 60.89 | 66 | 6481.59 | 4100.61 |
| 15 | 132.47 | 4.38 | 3.78 | 50.34 | 82.13 | 66 | 8742.71 | 4100.61 |
| 13 | 109.63 | 3.63 | 3.78 | 41.66 | 67.97 | 66 | 7235.30 | 4100.61 |
| 12 | 98.21 | 3.25 | 3.78 | 37.32 | 60.89 | 66 | 6481.59 | 4100.61 |
| 14 | 121.05 | 4.00 | 3.78 | 46.00 | 75.05 | 66 | 7989.00 | 4100.61 |
| 16 | 143.89 | 4.76 | 3.78 | 54.68 | 89.21 | 66 | 9496.41 | 4100.61 |
| 12.50 | 103.92 | 3.44 | 3.78 | 39.49 | 64.43 | 66 | 6858.44 | 4100.61 |
| 12.30 | 101.63 | 3.36 | 3.78 | 38.62 | 63.01 | 66 | 6707.70 | 4100.61 |
| 12.20 | 100.49 | 3.32 | 3.78 | 38.19 | 62.30 | 66 | 6632.33 | 4100.61 |
| 13 | 109.63 | 3.63 | 3.78 | 41.66 | 67.97 | 66 | 7235.30 | 4100.61 |
| 13.20 | 111.91 | 3.70 | 3.78 | 42.53 | 69.38 | 66 | 7386.04 | 4100.61 |
+-------+--------+------+------+-------+-------+----+---------+---------+
Советую вам почитать о том как работают функции в Python и попытаться разобраться как работает код из ответа.
Это позволит вам не задавать в будущем однотипные вопросы.