def check_response(response): """Проверяем данные в полученном ответе.""" if not isinstance(response, dict): err_text = ( 'Ответ не является словарем.' f'Тип: {type(response)}.' f'Ответ: {response}.' ) _logger.error(err_text) raise TypeError(err_text) if not response.get('homeworks'): err_text = ( 'В ответе нет ключа `homeworks`.' f'{response}.' ) _logger.error(err_text) raise KeyNotFoundError(err_text) if not response.get('current_date'): err_text = ( 'В ответе нет ключа `current_date`.' f'{response}.' ) _logger.error(err_text) raise KeyNotFoundError(err_text) homeworks = response.get('homeworks') if not isinstance(homeworks, list): err_text = ( f'Значение ключа `homeworks` не является списком.' f'Тип: {type(homeworks)}.' f'Ответ: {homeworks}.' ) _logger.error(err_text) raise TypeError(err_text) if not homeworks: err_text = 'Значение по ключу `homeworks` - пустой список.' _logger.error(err_text) raise IndexError(err_text) return homeworks