展开全部
#题目没有任何问题2113,Lb>=La 意味着b的追赶上了a,所以循环5261的条件就是Lb < La,即b的距离小于a,如果大4102于等于就不循环1653了,超过了a就是第一名,还跑个*****
La = 20 # a跑的距离
Lb = 0 # b跑的距离
a = 2 # a的速度
b = 3 # b的速度
t = 0 # 用的时间
while Lb < La:
La = La + a
Lb = Lb + b
t += 1
print('{0}秒后,a跑了{1}米,b跑了{2}米'.format(t, La, Lb))
print('b追上a用了{}秒'.format(t))
class Game(object):
def __init__(self, a, b, La, Lb):
self.a = a
self.b = b
self.La = La
self.Lb = Lb
def run(self):
t = 0
while self.Lb < self.La:
self.La = self.La + self.a
self.Lb = self.Lb + self.b
t += 1
print('{0}秒后,a跑了{1}米,b跑了{2}米'.format(t, self.La, self.Lb))
print('b追上a用了{}秒'.format(t))
game = Game(2, 3, 20, 0)
game.run()