Питон: Таберрор - PullRequest
       20

Питон: Таберрор

0 голосов
/ 30 июня 2018

У меня есть один эстонский скрипт, но он выдает ошибку:

    Sorry: TabError: inconsistent use of tabs and spaces in indentation (function sheet1.py, line 8)
[Finished in 0.2s with exit code 1]

и код:

import sys
import datetime
end = False
while end == False:
def contin01():
    print("Kas soovid jätkata?")
    exit = input("Vali [1] - JAH // Vali [2] - EI: ")
    if exit[0] == "1":
        print("********* Beginning of Line ********* ")
    elif exit[0] == "2":
        sys.exit()
def sina():
    nimi = input("Kirjuta enda nimi: ")
def guest_name():
    Guest_Name = input("Sisesta kliendi nimi: ")
def guest_arrival():
    Arrival = input("Sisesta kliendi saabumiskuupäev: ")
def guest_dep():
    Departure = input("Sisesta kliendi lahkumiskuupäev: ")
def room():
    Room_number = input("Sisesta kliendi toa number ")
def special():
    req = input("Kirjuta kliendi erisoovid, kui puuduvad pane "-": ")
def WU():
    wake = input("Kirjuta mis kell soovib klient äratust")
def date():
    päev = datetime.datetime.now().strftime("%d-%m-%Y T%H:%M")

не могу найти проблему - попытался удалить и повторить попытку, но ничего не изменилось

1 Ответ

0 голосов
/ 30 июня 2018

Нормализуйте свой исходный код. «Использовать 4 пробела на уровень отступа» в соответствии с Python PEP8 . Если вы смешаете вкладки и пробел в одном контексте отступа (например, функция), вы получите предупреждение, о котором вы упомянули.

Следующий исходный код плохо отформатирован (где <SPACE> обозначает пробел, а <TAB> обозначает горизонтальную табуляцию):

def func(x):
<SPACE><SPACE><SPACE><SPACE>if x == 6:
<TAB><TAB>return 1
<SPACE><SPACE><SPACE><SPACE>return 42

выдаст следующую ошибку:

  File "test.py", line 3
    return 1
           ^
TabError: inconsistent use of tabs and spaces in indentation

тогда как следующая программа верна:

def func(x):
<SPACE><SPACE><SPACE><SPACE>if x == 6:
<SPACE><SPACE><SPACE><SPACE><SPACE><SPACE><SPACE><SPACE>return 1
<SPACE><SPACE><SPACE><SPACE>return 42

Кстати, while end == False должно быть написано while not end и требует дополнительного уровня отступа в следующей строке.

...