以下是一个简单的“天文望远镜调度”问题的解决方法,包含代码示例:
- 定义望远镜类
class Telescope:
def __init__(self, name, location):
self.name = name
self.location = location
self.is_available = True
def schedule(self):
if self.is_available:
print(f"{self.name} is scheduled for observation at {self.location}.")
self.is_available = False
else:
print(f"{self.name} is already scheduled and not available.")
def cancel_schedule(self):
self.is_available = True
print(f"Schedule for {self.name} at {self.location} is cancelled.")
- 创建望远镜对象并进行调度
telescope1 = Telescope("Telescope 1", "Location 1")
telescope2 = Telescope("Telescope 2", "Location 2")
telescope1.schedule() # Output: Telescope 1 is scheduled for observation at Location 1.
telescope2.schedule() # Output: Telescope 2 is scheduled for observation at Location 2.
telescope1.schedule() # Output: Telescope 1 is already scheduled and not available.
telescope1.cancel_schedule() # Output: Schedule for Telescope 1 at Location 1 is cancelled.
telescope1.schedule() # Output: Telescope 1 is scheduled for observation at Location 1.
在这个示例中,我们首先定义了一个望远镜类,其中包含了望远镜的名称、位置和可用性。调度方法用于将望远镜安排到特定的观测位置,如果望远镜已经被调度,则无法再次调度。取消调度方法用于将望远镜设置为可用状态。然后,我们创建了两个望远镜对象,并对它们进行了调度和取消调度的操作。