Найти - Пользователи
Полная версия: Помогите решить проблему
Начало » Центр помощи » Помогите решить проблему
1
SPIRIT-26
Доброго всем времени суток!!!
Недавно для облегчения своей повседневной деятельности решил изучить Python и написал свою первую программу которая автоматизирует расчет сложных математических формул. Программа работает и справляется с возложенными на нее задачами но вот сам код получился длинным и топорным.
Переходя к сути вот примерно с чем работает программа (конечно это не код с программы но загвоздка примерно в такой же ситуации)
a = 1,2,3,4,5
b = 6,7,8,9,10
c = 11,12,13,14,15
d1 = (a0+a1)+(a3-a2)*a4
d2 = (b0+b1)+(b3-b2)*b4
d3 = (c0+c1)+(c3-c2)*c4
print(d1,d2,d3)
там везде квадратные скобки но с ними текст пропадает

Можно ли написать функцию или цикл в котором сама формула будет написана один раз а интерпритатор с каждым ходом будет подставлять следующий диапозон значений из списка а в итоге выведет результат в виде следующего списка.

P.S. Повторюсь в исходной программе формулы гораздо боле громоздкие и замудренные и результат каждого последующего списка необходим следующей формуле.
marvellik
 def func(x):
  return [(x[0]+x[1])+(x[3]-x[2])*x[4]]
a = [1,2,3,4,5]
b = [6,7,8,9,10]
c = [11,12,13,14,15]
for x in(a,b,c):
   print(func(x))
не совсем понятно где какие скобки но как то так. для форматирования кода на форуме после написания кода выделяешь его и в верху окна слева возле смайлика наводишь курсор и выбираешь Python
doza_and
В вашем случае a,b ,c по сути оно и тоже. Не надо плодить лишние сущности.
 import numpy as np
a = np.array([[1,2,3,4,5],
      [6,7,8,9,10],
     [11,12,13,14,15]]).T
d = a[0]+a[1]+(a[3]-a[2])*a[4]
print(d)
SPIRIT-26
Спасибо всем за помощь первый пример жаль выводит в столбец а второй если не считать что нужен numpy норм выдает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB