Day 161クールダウン付きボタン判定を時刻差で実装する

2026-08-04 JST ・ 難易度: 実用 ・ カテゴリ: 実用状態管理

Pythonコード

1import time2 3class Button:4    def __init__(self):5        self.last_pressed = 06        self.cool_down = 2  # クールダウン時間(秒)7 8    def press(self):9        current_time = time.time()10        if current_time - self.last_pressed >= self.cool_down:11            self.last_pressed = current_time12            return True13        else:14            return False15 16def main():17    button = Button()18    while True:19        try:20            num = int(input("ボタンを押しますか?(1: 押す、0: やめる)"))21            if num == 1:22                if button.press():23                    print("ボタンを押しました。")24                else:25                    print("クールダウン中です。")26            elif num == 0:27                break28            else:29                print("不正な入力です。")30        except ValueError:31            print("不正な入力です。")32 33if __name__ == "__main__":34    main()

解説

次に試してみよう