编写一个程序,实现三个售票窗口,卖10张票,并且一张票只能卖一次
时间: 2024-10-14 14:09:28 浏览: 30
为了编写这个程序,我们可以使用Python作为示例语言,创建一个简单的模拟场景。我们将定义一个`Ticket`类表示票,一个`Window`类表示售票窗口,每个窗口有自己的一组票。以下是实现的代码:
```python
class Ticket:
def __init__(self, id):
self.id = id
self.is_sold = False
class Window:
def sell_ticket(self, ticket_id):
if not self.has_ticket(ticket_id) and not ticket_id >= 10:
ticket = Ticket(ticket_id)
self.tickets.append(ticket)
ticket.is_sold = True
print(f"Ticket {ticket_id} sold by Window {self.name}")
else:
print("Ticket already sold or no more tickets available.")
def has_ticket(self, ticket_id):
for t in self.tickets:
if t.id == ticket_id and not t.is_sold:
return True
return False
windows = [Window("Window 1"), Window("Window 2"), Window("Window 3")]
for i in range(1, 11):
window_num = i % len(windows)
windows[window_num].sell_ticket(i)
# 结果将显示每个窗口卖出的票的信息
```
在这个程序中,我们限制了总共只有10张票可供销售,每张票只会从第一个未售出的窗口开始售卖。如果票已售完或窗口索引超过票的数量,该窗口就不会再出售。
阅读全文