编写一个龟兔赛跑的多线程程序,单击按键以后龟兔开始赛跑
时间: 2023-05-29 14:01:58 浏览: 183
以下是Python的实现:
```python
import threading
import time
import random
class Turtle(threading.Thread):
def __init__(self, distance):
super(Turtle, self).__init__()
self.distance = distance
self.pos = 0
def run(self):
while self.pos < self.distance:
time.sleep(1)
self.pos += 1
print("乌龟跑了%d米" % self.pos)
class Rabbit(threading.Thread):
def __init__(self, distance):
super(Rabbit, self).__init__()
self.distance = distance
self.pos = 0
def run(self):
while self.pos < self.distance:
time.sleep(0.5)
self.pos += 2
print("兔子跑了%d米" % self.pos)
if __name__ == "__main__":
print("龟兔赛跑开始!")
distance = 50
turtle = Turtle(distance)
rabbit = Rabbit(distance)
turtle.start()
rabbit.start()
while turtle.is_alive() and rabbit.is_alive():
time.sleep(1)
if turtle.pos >= distance and rabbit.pos >= distance:
print("平局!")
elif turtle.pos >= distance:
print("乌龟赢了!")
else:
print("兔子赢了!")
```
首先,我们定义了一个Turtle类和一个Rabbit类,继承自Thread类并重写了run方法。在run方法中,每个动物会不断地移动,直到达到比赛的终点。
在主函数中,我们创建了一个龟和一个兔,并开启了它们的线程。然后我们进入一个while循环,直到比赛结束,也就是有一方完成比赛并获胜为止。
最后,我们根据比赛结果输出对应的信息。
阅读全文