定义一个电影售票机类TicketingMachine,支持以下功能(每一个功能由一个成员函数实现)
时间: 2023-06-07 18:10:12 浏览: 60
好的,您的问题是如何定义一个电影售票机类TicketingMachine,让它支持以下功能:
1. 显示影片列表和票价;
2. 选择影片和座位;
3. 根据所选影片和座位生成订单;
4. 支付订单并打印电影票。
以下是代码示例:
```python
class TicketingMachine:
def __init__(self, movie_list, price_list):
self.movie_list = movie_list
self.price_list = price_list
self.selected_movie = ""
self.selected_seat = ""
def display_movie_list(self):
print("影片列表:")
for i in range(len(self.movie_list)):
print(str(i+1) + ".", self.movie_list[i], self.price_list[i], "元")
def select_movie(self, movie_index):
self.selected_movie = self.movie_list[movie_index-1]
print("您选择了影片:", self.selected_movie)
def select_seat(self, seat):
self.selected_seat = seat
print("您选择了座位:", seat)
def generate_order(self):
if not self.selected_movie or not self.selected_seat:
print("请选择影片和座位!")
else:
print("订单已生成:", self.selected_movie, self.selected_seat)
def pay_and_print_ticket(self, payment):
if payment < self.price_list[self.movie_list.index(self.selected_movie)]:
print("付款不足!")
else:
print("支付成功!")
print("电影票:", self.selected_movie, self.selected_seat)
# 示例代码:
machine = TicketingMachine(["电影1", "电影2", "电影3"], [30, 40, 50])
machine.display_movie_list()
machine.select_movie(2)
machine.select_seat("B3")
machine.generate_order()
machine.pay_and_print_ticket(50)
```
输出结果:
```
影片列表:
1. 电影1 30 元
2. 电影2 40 元
3. 电影3 50 元
您选择了影片: 电影2
您选择了座位: B3
订单已生成: 电影2 B3
支付成功!
电影票: 电影2 B3
```
请注意,以上代码仅作为示例,具体实现可以根据需要进行修改。如果您有任何问题或意见,请随时与我交流。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)