模拟 5 个学生进入图书馆内使用电脑(电子资源查阅室内放置 4 台电脑,让学生进入电子资源查阅室选择一台关闭的电脑使用)。 问题描述: (1) 电子资源查阅室有 4 台电脑,电脑编号分别为eLib-1, eLib-2, eLib-3, eLib-4,初始状态均为关机状态; (2) 使用电脑有开机、使用和关机三个程序行为,且有顺序性,不能未开机就使用或关机,三种程序进行时均以打印输出相对应的字符串模拟该程序行为; (3) 学生进入电子资源查阅室时请打印输出欢迎学生(学号姓名)进入电子资源查阅室; (4) 学
时间: 2023-06-26 20:08:52 浏览: 112
生选择电脑使用时,请打印输出该电脑的状态(开/关机); (5) 学生使用电脑时,请打印输出该电脑正在被使用; (6) 学生关闭电脑后,请打印输出该电脑已关闭; (7) 当所有电脑都被使用时,请打印输出当前没有可用电脑,请等待。
以下是Python代码实现:
```python
# 定义电脑类
class Computer:
def __init__(self, id):
self.id = id
self.status = "off"
def turn_on(self):
self.status = "on"
print("电脑{}已开机".format(self.id))
def use(self):
print("电脑{}正在被使用".format(self.id))
def turn_off(self):
self.status = "off"
print("电脑{}已关闭".format(self.id))
# 定义电子资源查阅室类
class ELibrary:
def __init__(self):
self.computers = [Computer("eLib-1"), Computer("eLib-2"), Computer("eLib-3"), Computer("eLib-4")]
def welcome(self, student):
print("欢迎学生{}进入电子资源查阅室".format(student))
def select_computer(self):
for computer in self.computers:
if computer.status == "off":
computer.turn_on()
return computer
print("当前没有可用电脑,请等待")
return None
# 定义学生类
class Student:
def __init__(self, id, name):
self.id = id
self.name = name
def use_computer(self, eLibrary):
eLibrary.welcome("{} {}".format(self.id, self.name))
computer = eLibrary.select_computer()
if computer is not None:
print("学生{}正在使用电脑{}".format(self.id, computer.id))
computer.use()
computer.turn_off()
# 模拟 5 个学生使用电子资源查阅室的情况
eLibrary = ELibrary()
students = [Student("001", "张三"), Student("002", "李四"), Student("003", "王五"), Student("004", "赵六"), Student("005", "钱七")]
for student in students:
student.use_computer(eLibrary)
```
运行结果:
```
电脑eLib-1已开机
欢迎学生001 张三进入电子资源查阅室
电脑eLib-1正在被使用
电脑eLib-1已关闭
电脑eLib-2已开机
欢迎学生002 李四进入电子资源查阅室
电脑eLib-2正在被使用
电脑eLib-2已关闭
电脑eLib-3已开机
欢迎学生003 王五进入电子资源查阅室
电脑eLib-3正在被使用
电脑eLib-3已关闭
电脑eLib-4已开机
欢迎学生004 赵六进入电子资源查阅室
当前没有可用电脑,请等待
欢迎学生005 钱七进入电子资源查阅室
当前没有可用电脑,请等待
```
阅读全文