我需要以下脚本到 运行 in python 并给我结果?解决简单的数学问题
I need the following script to run in python and give me result? Solving simple mathematical questions
我是 python 的新手。我需要有人帮助我 运行 python 中的一个简单脚本。我附上了代码。我是定义函数和 运行 if else 函数的新手,所以我需要有关如何使以下函数工作的帮助?
我不知道是否有必要定义不同的函数,我知道我在下面的代码中肯定有很多行是错误的。我需要有人帮我修改它
def values():
p1g = float(input("Player 1 Utility for green"))
p2r = float(input("Player 2 ulitity for red"))
p1r = float(input("Player 1 utility for red"))
p2g = float(input("Player 2 utility for green"))
d1 = float(input("Player 1 Disagreement point"))
d2 = float (input("Player 2 Disagreement point"))
return [p1g,p2r,p14,p2g,d1,d2]
def slope_int(p1g,p2r,p1r,p2g):
"""Returns the slope and intercept of the payoff/utilities"""
m = (p2g-p2r)/(p1r-p1g)
c = p2r - ((p2g-p2r)/(p1r-p1g))* p1g
return [m,c]
def nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1)/2*m
def nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1) + c # where c = p1g-p2r*((p2g-p2r)/(p1r-p1g)
solution = [nash_bargaining_x(),nash_bargaining_y()]
print (solution)
if abs.(p1g-nash_bargaining_x) > (p1r-nash_bargaining_x):
solution = "P1 has Red"
else:
solution = "P2 has red"
期望程序计算脚本中列出的所有值和return用户输入变量所需的值。
在此代码中不需要定义函数。但是,如果您确实定义了这样的函数:
def foo():
…
然后你必须再次调用它才能使它 运行 像这样:
foo()
如果你不这样做,那么该功能将不会运行。
采用值函数,我会做
p1g,p2r,p14,p2g,d1,d2 = values()
在我调用 slope_int() 之前。
此外,slope_int() 需要有 return 选项卡,与 nash_x 和 nash_y 相同。
然后,我会在解决方案之前按顺序调用所有内容,如下所示:
p1g,p2r,p14,p2g,d1,d2 = values()
m,c = slope_int(p1g,p2r,p1r,p2g)
solution = [nash_bargaining_x(),nash_bargaining_y()]
print(solution)
if abs.(p1g-nash_bargaining_x) > (p1r-nash_bargaining_x):
solution = "P1 has Red"
else:
solution = "P2 has red"
print(solution)
我想这就是您要找的东西
但是,我建议不要为此脚本定义函数。需要多次调用的函数需要定义。
好的,让我们分解一下,因为您在使用功能代码的过程中遇到了很多问题。首先,您有一个很好的函数 values()
来获取用户的所有输入,但您从未使用过该函数。您需要调用此函数并保存它的所有输出,如下所示:
def values():
p1g = float(input("Player 1 Utility for green"))
p2r = float(input("Player 2 ulitity for red"))
p1r = float(input("Player 1 utility for red"))
p2g = float(input("Player 2 utility for green"))
d1 = float(input("Player 1 Disagreement point"))
d2 = float (input("Player 2 Disagreement point"))
return [p1g,p2r,p14,p2g,d1,d2]
[p1g,p2r,p14,p2g,d1,d2] = values()
现在您已准备好在整个代码中使用来自用户的变量。在那之后,你的其他函数定义看起来不错,尽管它们缩进得不好(但这可能只是你没有使用 Stack Overflow 格式):
def slope_int(p1g,p2r,p1r,p2g):
"""Returns the slope and intercept of the payoff/utilities"""
m = (p2g-p2r)/(p1r-p1g)
c = p2r - ((p2g-p2r)/(p1r-p1g))* p1g
return [m,c]
def nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1)/2*m
def nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1) + c # where c = p1g-p2r*((p2g-p2r)/(p1r-p1g)
即使您在上述函数定义和您的输入中将变量命名为相同的名称,您也不能只调用这些函数并期望它们具有来自您的 values()
函数的变量。您必须显式发送您希望这些函数使用的数字作为参数,如下所示:
solution = [nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c),nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c)]
print (solution)
现在您的解决方案应该如您所愿,最后要注意的是绝对值的 abs
函数不是用 abs.()
调用的,而是用 abs()
调用的,如下所示:
if abs(p1g-nash_bargaining_x) > abs(p1r-nash_bargaining_x)
solution = "P1 has Red"
else
solution = "P2 has red"
我是 python 的新手。我需要有人帮助我 运行 python 中的一个简单脚本。我附上了代码。我是定义函数和 运行 if else 函数的新手,所以我需要有关如何使以下函数工作的帮助?
我不知道是否有必要定义不同的函数,我知道我在下面的代码中肯定有很多行是错误的。我需要有人帮我修改它
def values():
p1g = float(input("Player 1 Utility for green"))
p2r = float(input("Player 2 ulitity for red"))
p1r = float(input("Player 1 utility for red"))
p2g = float(input("Player 2 utility for green"))
d1 = float(input("Player 1 Disagreement point"))
d2 = float (input("Player 2 Disagreement point"))
return [p1g,p2r,p14,p2g,d1,d2]
def slope_int(p1g,p2r,p1r,p2g):
"""Returns the slope and intercept of the payoff/utilities"""
m = (p2g-p2r)/(p1r-p1g)
c = p2r - ((p2g-p2r)/(p1r-p1g))* p1g
return [m,c]
def nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1)/2*m
def nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1) + c # where c = p1g-p2r*((p2g-p2r)/(p1r-p1g)
solution = [nash_bargaining_x(),nash_bargaining_y()]
print (solution)
if abs.(p1g-nash_bargaining_x) > (p1r-nash_bargaining_x):
solution = "P1 has Red"
else:
solution = "P2 has red"
期望程序计算脚本中列出的所有值和return用户输入变量所需的值。
在此代码中不需要定义函数。但是,如果您确实定义了这样的函数:
def foo():
…
然后你必须再次调用它才能使它 运行 像这样:
foo()
如果你不这样做,那么该功能将不会运行。
采用值函数,我会做
p1g,p2r,p14,p2g,d1,d2 = values()
在我调用 slope_int() 之前。 此外,slope_int() 需要有 return 选项卡,与 nash_x 和 nash_y 相同。 然后,我会在解决方案之前按顺序调用所有内容,如下所示:
p1g,p2r,p14,p2g,d1,d2 = values()
m,c = slope_int(p1g,p2r,p1r,p2g)
solution = [nash_bargaining_x(),nash_bargaining_y()]
print(solution)
if abs.(p1g-nash_bargaining_x) > (p1r-nash_bargaining_x):
solution = "P1 has Red"
else:
solution = "P2 has red"
print(solution)
我想这就是您要找的东西
但是,我建议不要为此脚本定义函数。需要多次调用的函数需要定义。
好的,让我们分解一下,因为您在使用功能代码的过程中遇到了很多问题。首先,您有一个很好的函数 values()
来获取用户的所有输入,但您从未使用过该函数。您需要调用此函数并保存它的所有输出,如下所示:
def values():
p1g = float(input("Player 1 Utility for green"))
p2r = float(input("Player 2 ulitity for red"))
p1r = float(input("Player 1 utility for red"))
p2g = float(input("Player 2 utility for green"))
d1 = float(input("Player 1 Disagreement point"))
d2 = float (input("Player 2 Disagreement point"))
return [p1g,p2r,p14,p2g,d1,d2]
[p1g,p2r,p14,p2g,d1,d2] = values()
现在您已准备好在整个代码中使用来自用户的变量。在那之后,你的其他函数定义看起来不错,尽管它们缩进得不好(但这可能只是你没有使用 Stack Overflow 格式):
def slope_int(p1g,p2r,p1r,p2g):
"""Returns the slope and intercept of the payoff/utilities"""
m = (p2g-p2r)/(p1r-p1g)
c = p2r - ((p2g-p2r)/(p1r-p1g))* p1g
return [m,c]
def nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1)/2*m
def nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c):
return -(p2r -d2 - m*p1g - m*d1) + c # where c = p1g-p2r*((p2g-p2r)/(p1r-p1g)
即使您在上述函数定义和您的输入中将变量命名为相同的名称,您也不能只调用这些函数并期望它们具有来自您的 values()
函数的变量。您必须显式发送您希望这些函数使用的数字作为参数,如下所示:
solution = [nash_bargaining_x(p1g,p2r,p1r,p2g,d1,d2,m,c),nash_bargaining_y(p1g,p2r,p1r,p2g,d1,d2,m,c)]
print (solution)
现在您的解决方案应该如您所愿,最后要注意的是绝对值的 abs
函数不是用 abs.()
调用的,而是用 abs()
调用的,如下所示:
if abs(p1g-nash_bargaining_x) > abs(p1r-nash_bargaining_x)
solution = "P1 has Red"
else
solution = "P2 has red"