Answer the question
In order to leave comments, you need to log in
TypeError: solve() takes 0 positional arguments but 3 were given how to fix???
There is a code:
from sympy import *
from tkinter import *
from tkinter.ttk import Frame, Button, Style
import numpy as np
from PIL import ImageTk, Image
def solve():
window1 = Tk() # вторинне вікно
window1.title("Result") # назва вторинного вікна
window1.geometry('500x500') # розмір вторинного вікна
n = int(cin.get()) # зчитування стартового капіталу
x, y = symbols( ' x y ' ) # переведення х та у в символьний вигляд
f = ln(n - x - y) + (3/5) * ln((6/5) * x) + (9/25) * ln((25/16) * y) # символьний запис цільвої функції
fout = "Функція, яку аналізують: f = " + str(f)
labelf = Label(window1, text = fout) # текстове поле для того, що вище
labelf.pack(padx = 10, pady = 10) # розміщення текстового поля
fx = f.diff(x) # часткова похідна по х
fy = f.diff(y) # часткова похідна по у
extout = "Необхідна умова екстремуму:\ndf/dx = " + str(fx) + "\ndf/dy = " + str(fy)
labelext = Label(window1, text = extout) # текстове поле для того, що вище
labelext.pack(padx = 10, pady = 5) # розміщення текстового полня
try:
sols=solve([fx,fy],x,y)
except:
labeexcept = Label(window1, text = "Функція не диференційована")
labeexcept.pack(padx = 10, pady = 10)
raise SystemExit(1)
point = "Стаціонарна точка М" + sols
labelpoint = Label(window1, text = point)
labelpoint.pack(padx = 10, pady = 10)
window1.mainloop() # постійне відображення вторинного вікна
def closewin():
window.destroy() # фукнкція для закриття вікна
window = Tk() # головне вікно
window.title("Main Model") # назва головного вікна
window.geometry('500x350') # розміри головного вікна
label3 = Label(window, text = 'Функція корисності') # текстове поле
label3.pack(padx = 100, pady = 10) # розміщення текстового поля
img = ImageTk.PhotoImage(Image.open("Formula.gif")) # формула
label1 = Label(image = img)
label1.pack(padx = 100, pady = 10) # розміщення формули
label2 = Label(window, text = 'Введіть ваш стартовий капітал ') # текстове поле
label2.pack(padx = 100, pady = 10) # розміщення текстового поля
cin = Entry(window, width = 50, borderwidth = 1) # поле для вводу
cin.pack(padx = 100, pady = 10) # розміщення цього поля
res = Button( window, text = "Розрахувати", command = solve) # кнопка
res.pack(side = LEFT,padx = 70, pady = 10) # розміщення кнопки
close = Button(window, text = "Закрити", command = closewin) # кнопка
close.pack(side=RIGHT, padx = 70, pady = 10) # розміщення кнопки
window.mainloop() # постійне відображення головного вікна
Answer the question
In order to leave comments, you need to log in
Think with your head. Which solve() are you trying to call?
sols=solve([fx,fy],x,y)
From which module? Because you have a function
def solve():
And the program already sees only your function.
So
1. rename your function
2. try not to do from xxx import * . A complete mess with this approach, as you can see. It's better to call sympy.solve() explicitly. The same applies to other modules.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question