Не могу понять как исправить :(
Сам код:
import math
import sys
#масиви для табуляції функції
x = []
y = []
#функція 1
def task_1(b,a,c):
return b + math.sqrt(b**2+4*a*c) / 2*a - a**3*c+b**-2
#функція 2
def task_2(c):
if c < -1:
d = 0.12*(c**3+c)
elif -1 <= c < 5:
d = 3.12/(c+1.2)
else:
d = 1.13+2**c
return d
#табуляція функції 3
def task_3(a, b, h):
n = round((b-a)/h)+1;
x1 = a
for i in range(n):
x.append(x1)
y.append(math.pow(math.cos(x1),2))
x1 += h
return n
#Відкриття файлу вводу task.txt
try:
fin = open('task.txt','rt')
except:
print('Помилка: файл вводу не існує!!!')
sys.exit(1)
#Відкриття файлу виводу result.txt.
try:
fout = open('result.txt','wt')
except:
print('Помилка: неможливо створити файл виводу!!!')
sys.exit(1)
#зчитування даних з файлу вводу
try:
var = fin.readline().split()
x1 = float(var[0])
x2 = float(var[1])
a = float(var[2])
b = float(var[3])
dx = float(var[4])
except:
print('Помилка зчитування з файлу вводу!')
print('Перевірте збережені у файлі вводу дані!')
sys.exit(1)
#закриття файлу вводу
fin.close()
#виведення отриманих з файлу даних
print('Отримано з файлу вводу:')
print('x1 = ', x1)
print('x2 = ', x2)
print('a = {0}, b = {1}, dx = {2}'.format(a, b ,dx))
input('Натисніть Enter')
#рішення задачі 1
print('Завдання 1')
print('f1({0}) = {1}'.format(x1, task_1(x1)))
print('f1({0}) = {1}'.format(x1, task_1(x1)), file = fout)
print('Результати завдання 1 збережені у файл.')
input('Натисніть Enter')
#рішення задачі 2
print('Завдання 2')
print('f2({0}) = {1}'.format(x2, task_2(x2)))
print('f2({0}) = {1}'.format(x2, task_2(x2)), file = fout)
print('Результати завдання 2 збережені у файл.')
input('Натисніть Enter')
#рішення задачі 3
print('Завдання 3')
n = task_3(a,b,dx)
print('a = {0}, b = {1}, dx = {2}'.format(a, b ,dx))
print('a = {0}, b = {1}, dx = {2}'.format(a, b ,dx), file = fout)
print('Функція, задана таблицею:')
print('Функція, задана таблицею:', file = fout)
print('x\t| y')
print('x\t| y', file = fout)
print('-'*15)
print('-'*15, file = fout)
for i in range(n):
print('{0:.1f}\t| {1:.3f}'.format(x[i], y[i]))
print('{0:.1f}\t| {1:.3f}'.format(x[i], y[i]), file = fout)
print('Результати завдання 3 збережені у файл.')
input('Натисніть Enter')
#закриття файлу виводу
fout.close()
Ошибка:
Traceback (most recent call last):
File "G:/My codes/lr#4.py", line 61, in <module>
print('f1({0}) = {1}'.format(x1, task_1(x1)))
TypeError: task_1() missing 2 required positional arguments: 'a' and 'c'
Ответы (1 шт):
Автор решения: KindKing
→ Ссылка
Вы забыли передать аргументы a и c в функции task_1.
Ви забули передати аргументи а і c у функції task_1.