Не могу понять как исправить :(

Сам код:

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.

→ Ссылка