警告错误在 vscode 中无法访问代码

问题描述 投票:0回答:0

我的游戏中有这个方法,在 vscode 中我从 pylint 收到无法访问的代码警告。

def _check_buttons(self, mouse_pos):
    """Check for buttons being clicked and act accordingly."""
    buttons = {
    self.play_button.rect.collidepoint(mouse_pos):
        lambda: (self._reset_game(),
                 setattr(self, 'show_difficulty', False),
                 setattr(self, 'show_high_scores', False),
                 setattr(self, 'show_game_modes', False)),
    self.quit_button.rect.collidepoint(mouse_pos):
        lambda: (pygame.quit(), sys.exit()),
    self.menu_button.rect.collidepoint(mouse_pos):
        self.run_menu,
    self.high_scores.rect.collidepoint(mouse_pos):
        lambda: setattr(self, 'show_high_scores', not self.show_high_scores),
    self.game_modes.rect.collidepoint(mouse_pos):
        lambda: setattr(self, 'show_game_modes', not self.show_game_modes),
    self.endless_button.rect.collidepoint(mouse_pos):
        lambda: (setattr(self.settings, 'endless', not self.settings.endless),
                 setattr(self, 'show_game_modes', False)),
    self.easy.rect.collidepoint(mouse_pos):
        lambda: (setattr(self.settings, 'speedup_scale', 0.3),
                 setattr(self, 'show_difficulty', False)),
    self.medium.rect.collidepoint(mouse_pos):
        lambda: (setattr(self.settings, 'speedup_scale', 0.5),
                 setattr(self, 'show_difficulty', False)),
    self.hard.rect.collidepoint(mouse_pos):
        lambda: (setattr(self.settings, 'speedup_scale', 0.7),
                 setattr(self, 'show_difficulty', False)),
    self.difficulty.rect.collidepoint(mouse_pos):
        lambda: setattr(self, 'show_difficulty', not self.show_difficulty)
    }

    for button_clicked, action in buttons.items():
        if button_clicked and not self.stats.game_active:
            action()

警告在最后的for循环中,我以为是因为button_clicked始终为True,我尝试将其换成:if not self.stats.game_active and button_clicked,但警告仍然存在。为什么?

python visual-studio-code pylint
© www.soinside.com 2019 - 2024. All rights reserved.