Я действительно новичок в Python и мало что знаю, кроме основ печати и решения основ Python. Мне нужно написать скрипт, который следует следующей спецификации:
Пользовательские данные
p1 = (x1, y1)
p2 = (x2, y2)
также (d1,d2)
является фиксированной точкой
Утилиты создают линейную область для возможных результатов в виде
у = мх + с
Примечание: максимальное значение (x * -d1) (y * -d2)
Замена y как mx + c и решение уравнения (x * -d1) (mx * + c-d2)
max значения функции = mx * ^ 2 + cx * -d2x * -md1x * -cd1 + d1d2… ..equation (X)
lim в пределах значений x в строке y = mx + c⌉
Из служебных программ получите очки (x1, y1) (x2, y2) и исправьте точку несогласия (d1, d2)
Найти наклон линии = (y2-y2) / (x2-x1)
Найдите значение c в уравнении y = mx + c, заменив y = y1, x = x1 и рассчитав m.
Замените значения m, x, d1, d2 и c.
Решите все уравнения, заменив все возможные значения x в строке, созданной двумя точками, чтобы найти x *
Вернуть максимальное значение и соответствующее значение x в строке.
Например,
если (x1) = 10 и (x2) = 20
Программа должна включить все возможные значения в диапазоне в приведенное выше уравнение X, а затем вернуть максимальное значение функции с соответствующей ей ординатой x
У меня не так много, так как я совсем новичок в кодировании в целом. Все, что у меня есть, это как пользовательский ввод для x1, y1 x2, y2 d1 и d2. В настоящее время я устанавливаю модуль scipy, который я нашел в Интернете, чтобы посмотреть, смогу ли я над ним поработать, но я очень плох в любом синтаксисе на python. Не могли бы вы помочь мне? Буду признателен.
Это то, что я имею до сих пор:
def slope():
result = ''
x = float(input("Player 1 Utility for green"))
y = float(input("Player 2 ulitity for red"))
a = float(input("Player 1 utility for red"))
b = float(input("Player 2 utility for green"))
m = (y-b)/(x-a)
yint = y - (m*x)
if yint < 0:
sign='-'
else:
sign='+'
result = str("y="),str(slope),str("x"),sign,str(yint)
return result
print(slope())
import pylab as plt
import numpy as py
import sumpy as sy
import scipy as sc
def slope():
result = ''
x = float(input("Player 1 Utility for green"))
y = float(input("Player 2 ulitity for red"))
a = float(input("Player 1 utility for red"))
b = float(input("Player 2 utility for green"))
m = (y-b)/(x-a)
yint = y - (m*x)
if yint < 0:
sign='-'
else:
sign='+'
result = str("y="),str(slope),str("x"),sign,str(yint)
return result
print(slope())
def bargaining_solution(x,m,c,d1,d2)
return max mx^2 + cx - d2x - md1x -cd1+ d1d2