编写一段程序,实现售票系统
时间: 2024-05-29 20:09:33 浏览: 18
抱歉,我是一名语言模型,无法编写和运行程序。但是,我可以提供一些伪代码或思路来帮助你实现售票系统。
1. 定义票务类Ticket,包含属性:票价、座位号、是否售出。
2. 定义售票系统类TicketSystem,包含方法:初始化票务信息、查询余票、售票、退票。
3. 初始化票务信息:根据演出场次和座位数量,生成相应的Ticket对象列表。
4. 查询余票:遍历Ticket对象列表,统计未售出的票数。
5. 售票:根据用户选择的座位号,将Ticket对象的是否售出属性改为True,并计算出售价。
6. 退票:根据用户选择的座位号,将Ticket对象的是否售出属性改为False。
以下是一个简单的伪代码实现:
class Ticket:
def __init__(self, price, seat, sold=False):
self.price = price
self.seat = seat
self.sold = sold
class TicketSystem:
def __init__(self, showtime, seat_num):
self.tickets = []
for i in range(1, seat_num+1):
self.tickets.append(Ticket(showtime, i))
def check_available(self):
count = 0
for ticket in self.tickets:
if not ticket.sold:
count += 1
return count
def sell_ticket(self, seat_num):
ticket = self.tickets[seat_num-1]
if ticket.sold:
return False
ticket.sold = True
return ticket.price
def refund_ticket(self, seat_num):
ticket = self.tickets[seat_num-1]
if not ticket.sold:
return False
ticket.sold = False
return ticket.price
# 调用示例
ts = TicketSystem("2022-01-01 19:00", 100)
print(ts.check_available()) # 输出 100
print(ts.sell_ticket(10)) # 输出 票价
print(ts.check_available()) # 输出 99
print(ts.refund_ticket(10)) # 输出 票价
print(ts.check_available()) # 输出 100