Ошибка в Python?

5e87558841251048009219.png

from math import *
import numpy as np
def f1(a,x):
    y = tan(x**2/2-1)**2+(2*cos(x-pi/6))\
            /(1/2+sin(a)**2)
    return y
def f2(x):
    y = pow(2, log(3-cos(pi/4+2*x),3+sin(x))\
                /(1+tan(2*x/pi)**2))
    return y
fi = open(r"in.txt", "rt") # читать файл
fo = open(r"ou.txt", "wt") # писать в файл
# Вывести шапку таблицы в файл

fo.write("+=======+=======+=========+========+\n")
fo.write("I A I X I F1 I F2 I\n")
fo.write("+=======+=======+=========+========+\n")
# Загрузим данные в массив
ax = np.loadtxt(fi,dtype=np.float, ndmin = 1)
nRow, nCol = ax.shape # Строк и колонок в массиве
for Row in range(nRow): # для всех строк
    a = ax[Row][0]
    x = ax[Row][1]
    fo.write("I {0: .2f} I {1: .2f} I {2: 6.4f} I"\
            .format(a, x, f1(a, x)))
    fo.write("{0: 6.4f} I\n".format(f2(x)))
    fo.write("+-------+-------+---------+--------+\n")
# закроем файлы
fi.close()
fo.close()
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
В математике не силен, поэтому могу предположить следующее:
У вас в строке nRow, nCol = ax.shape # Строк и колонок в массиве
происходит распаковка значений. Ожидается, что ax.shape содержит 2 значения, но возвращает одно.
Так как в коде nCol встречается в одном месте, попробуйте изменить данную строку на:
nRow = ax.shape # Строк и колонок в массиве
PS: С numpy не работал, поэтому могу ошибаться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы