📌  相关文章
📜  门| Sudo GATE 2020 Mock I(2019 年 12 月 27 日)|第 48 题(1)

📅  最后修改于: 2023-12-03 15:28:47.117000             🧑  作者: Mango

门| Sudo GATE 2020 Mock I(2019 年 12 月 27 日)|第 48 题

这是一道编程题,目标是实现一个名为“门”的类,并提供开门和关门的方法。要求门的状态只能为“开启”或“关闭”。

类定义
class Door:
    def __init__(self):
        # 初始化门的状态
        pass

    def open(self):
        # 将门的状态设置为“开启”
        pass

    def close(self):
        # 将门的状态设置为“关闭”
        pass

    def state(self):
        # 返回门的状态,可能为“开启”或“关闭”
        pass
解题思路

这道题目比较简单,只需要按要求实现类的方法即可。在构造方法__init__(self)中,需要存储门的状态,可以使用一个类成员变量来保存。然后,在open(self)close(self)方法中将门的状态设置为“开启”或“关闭”,使用一个 self.status 变量即可。最后,在 state(self) 方法中,将门当前的状态返回即可。

代码实现

以下是一个简单的门类实现:

class Door:
    def __init__(self):
        self.status = "关闭"

    def open(self):
        self.status = "开启"

    def close(self):
        self.status = "关闭"

    def state(self):
        return self.status
测试案例
door = Door()
assert door.state() == "关闭"

door.open()
assert door.state() == "开启"

door.close()
assert door.state() == "关闭"

以上代码实现了一个简单的门,门可以被开启和关闭,通过 state 方法可以获取门当前的状态。