华为OD试题:传递悄悄话,用python怎么做
时间: 2024-12-03 16:08:44 浏览: 12
在华为OD(Online Judge,在线评测系统)的题目中,可能会让你设计一个简单的程序来模拟传递悄悄话,通常涉及到字符串处理和队列操作。使用Python可以这样做:
```python
class WhisperMessage:
def __init__(self):
self.message = ""
self.queue = []
def receive(self, whisper):
# 将新消息添加到队列尾部
self.queue.append(whisper)
def transmit(self, friend):
# 如果队列非空,取第一个消息给朋友,然后移除已发送的消息
if self.queue:
friend.receive(self.queue.pop(0))
else:
print(f"没有消息可以传递给 {friend.name}.")
# 示例用法
Alice = WhisperMessage()
Bob = WhisperMessage()
# 假设 Alice 收到了消息 "Hello"
Alice.receive("Hello")
# Alice 转递给 Bob
Alice.transmit(Bob)
```
在这个例子中,`WhisperMessage` 类有 `receive` 和 `transmit` 方法,分别用于接收和传递消息。你可以根据题目要求自定义接收、传递规则以及增加更多的功能。
阅读全文