我想让下面的代码执行一个循环多次获取新值?

2024-06-01 22:02:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python代码。我希望它像循环一样运行多次。假设20次。我将使用什么语法

所以对于下面的代码,我希望它进入循环并多次倾斜函数并给出结果

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"))
"""Returns the slope and intercept of the payoff/utilities"""
i = 1
while i < 20:
 m = (p2g-p2r)/(p1r-p1g)
 c = p2r - ((p2g-p2r)/(p1r-p1g))* p1g
 nash_bargaining_x = -(p2r -d2 - m*p1g - m*d1)/2*m
 nash_bargaining_y = -(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) > abs(p1r-nash_bargaining_x):
     solution = "P1 has Red"
 else:
    solution = "P2 has red"
 print(solution)
 if solution in ["P1 has red"]:
  p1r = p1r + 25 and p1g = p1r - 20 and p2g = p2g - 15 and p2r = p2g + 35
 else:
  p1r = p1g + 25 and p1g = p1g -25 and p2g = p2r - 20 and p2r = p2r + 25

语法错误:不能指定给运算符


Tags: andforinputredfloatd2d1player
1条回答
网友
1楼 · 发布于 2024-06-01 22:02:34

p1r = p1r + 25 and p1g = p1r - 20 and p2g = p2g - 15 and p2r = p2g + 35

你可能是说

if solution == "P1 has red":
  p1r = p1r + 25
  p1g = p1r - 20
  p2g = p2g - 15
  p2r = p2g + 35

and是错误消息中的运算符;它用于计算布尔表达式,而不是连接赋值运算符序列。)

相关问题 更多 >