Ошибка в записной книжке Jupyter "IndentationError: ожидается блок с отступом" - PullRequest
0 голосов
/ 18 июня 2020

Привет, ниже приведены упомянутые коды, которые я использовал для выполнения условия if в блокноте jupyter. Однако возникает ошибка блока с отступом. Я предполагаю, что это из-за нехватки места. Однако я не знаю, как это исправить. Не могли бы вы мне помочь?

    def remove_common_text(lst):
            if len(lst) > 4:
                for itm in lst:
                    if len(itm)>1:
                        rep = True
                        while rep == True:
                            ctr = 0
                            ctr2 = 0
                            for itm2 in lst:
                                if len(itm2)>0:
                                    if itm[0] == itm2[0]:
                                        ctr = ctr + 1
                                    if itm[-1] == itm2[-1]:
                                        ctr2 = ctr2 + 1
                           if ctr > 4:
                                str = itm[0]
                                for itm2 in lst:
                                    if len(itm2)>0:
                                        if itm2[0] == str and len(itm2)>1:
                                            del itm2[0]
                            if ctr2 > 4:
                                str2 = itm[-1]
                                for itm2 in lst:
                                    if len(itm2)>0:
                                        if itm2[-1] == str2 and len(itm2)>1:
                                            del itm2[-1]
                            if (ctr <= 4 and ctr2 <= 4) or len(itm)<=1: rep = False
    id_unique = documents['ID'].unique()
    print(id_unique)
for id in id_unique:


remove_common_text(documents[documents.ID==id]['split_clean'])
print(id)

1 Ответ

0 голосов
/ 18 июня 2020

Ошибка отступа означает, что где-то использовалось слишком мало или слишком много табуляции (или пробелов), и теперь блок кода расположен далеко вправо или влево для интерпретации вправо. Те, которые я нашел: - Весь блок, в котором вы определяете remove_common_text (), должен быть перемещен на одну вкладку влево (строка 1-27) - Есть один отступ ко многим перед первым if len(lst) > 4: в строке 2, следовательно, все последующие строки в определении функции - if ctr > 4: (строка 15) пропускает один пробел для правильного отступа

Если вы исправите это, вы получите код без ошибок отступа:

def remove_common_text(lst):
    if len(lst) > 4:
        for itm in lst:
            if len(itm)>1:
                rep = True
                while rep == True:
                    ctr = 0
                    ctr2 = 0
                    for itm2 in lst:
                        if len(itm2)>0:
                            if itm[0] == itm2[0]:
                                ctr = ctr + 1
                            if itm[-1] == itm2[-1]:
                                ctr2 = ctr2 + 1
                    if ctr > 4:
                        str = itm[0]
                        for itm2 in lst:
                            if len(itm2)>0:
                                if itm2[0] == str and len(itm2)>1:
                                    del itm2[0]
                    if ctr2 > 4:
                        str2 = itm[-1]
                        for itm2 in lst:
                            if len(itm2)>0:
                                if itm2[-1] == str2 and len(itm2)>1:
                                    del itm2[-1]
                    if (ctr <= 4 and ctr2 <= 4) or len(itm)<=1: rep = False
id_unique = documents['ID'].unique()
print(id_unique)
for id in id_unique:
    remove_common_text(documents[documents.ID==id]['split_clean'])
print(id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...