Как исправить эту ошибку отступа?

#python-3.x

#python-3.x

Вопрос:

Я получаю ошибку отступа: unindent не соответствует внешнему уровню отступа). Я написал следующий код

 if in_files[idx] not in results_dic:
              results_dic[in_files[idx]] = [pet_label]

           else print("** Warning: Duplicate files exist in directory:" , in_files[idx])

else print("** Warning: Duplicate files exist in directory:"  in_files[idx])
  

Я хочу избавиться от ошибки отступа, пожалуйста, кто-нибудь может мне помочь. Спасибо.

Комментарии:

1. У вас проблема с форматированием (смешивание табуляции и пробелов, разное количество пробелов). Трудно сказать, включили ли вы ее без форматирования

Ответ №1:

Если ваш код уже есть в форме ниже, убедитесь, что в строках 2 и 4 используется только tabs или spaces . Подтвердите, что вы не использовали tab для одной строки и spaces для другой строки. Если вы использовали spaces для обеих строк 2 и 4, подтвердите, что вы сделали отступ на точно такое же количество spaces . Для строк 1 и 3 убедитесь, что в начале любой строки нет space .

 if in_files[idx] not in results_dic:
    results_dic[in_files[idx]] = [pet_label]
else:
    print("** Warning: Duplicate files exist in directory:", in_files[idx])
  

Ответ №2:

Отступы важны в python, вы не можете просто сделать любой интервал, который вы хотите. Также будьте осторожны с [Tab] ключом, поскольку он может вставить символ табуляции ( t ), который отличается от [Space] .

 if in_files[idx] not in results_dic:
    results_dic[in_files[idx]] = [pet_label]
else:
    print("** Warning: Duplicate files exist in directory:" , in_files[idx])
  

Ответ №3:

Вероятно, вы можете оптимизировать свой код таким образом, как обновление. Обратите внимание, что я предположил некоторые вещи о вашем отсутствующем коде.

 results_dic = {}
in_files = [.....]
pet_label = '....'
for idx in in_files:
    file = in_files[idx]
    if file not in results_dic:
        results_dic[file] = [pet_label]
    else:
        print("** Warning: Duplicate files exist in directory:", file)