Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 31, 2014 20:38:39

kakadyi
Зарегистрирован: 2014-10-31
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка с табуляцией

Потихоньку изучаю Питон,разбираю пример из книги.Вот код:

>>> while True:
reply=input('Enter Text')
if reply=='stop':
break
elif not reply.isdigit():
print('bad')
else:
num=int(reply)
if num<20:
print('low')
else:
print(num**2)
print('bye')
SyntaxError: unindent does not match any outer indentation level
>>> Пишет что якобы последняя строка ни с чем не связана.Что мне надо.Чтобы последняя строка выполнялась уже отдельно от инструкции while,т.е. уже отдельная невложенная инструкция.Но.Во-первых,после print(num**2),нажимаю enter,он переводит курсор под эту строку.А мне надо,чтобы было под while.Если вручную пробелом тыкать,то вроде по виду print('bye') находится под while,но интерпретатор так не считает.И если с txt файла скопировать код,то print('bye') будет намного левее while…В чем проблема?
На выходе вот то получается:
Enter Text:33
1089
bye
Enter Text:
А надо:
Enter Text:33
1089
Enter Text:stop
bye

Отредактировано kakadyi (Окт. 31, 2014 20:52:45)

Офлайн

#2 Окт. 31, 2014 22:12:58

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Ошибка с табуляцией

while True:
    reply=input('Enter Text')
    if reply=='stop':
        print("bye")
        break
    elif not reply.isdigit():
        print('bad')
    else:
        num=int(reply)
        if num<20:
            print('low')
        else:
            print(num**2)



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Окт. 31, 2014 22:37:03

kakadyi
Зарегистрирован: 2014-10-31
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка с табуляцией

Почему тогда в книге Лутца это код работает в таком виде?И почему табуляция не подводит строку print('bye') под while?Получается,я не могу начать новый код,который будет независим от цикла while…Потому что опять же,табуляция относит следующий написанный код либо к циклу,либо выдаёт ошибку.Где я туплю?

Отредактировано kakadyi (Окт. 31, 2014 23:15:32)

Офлайн

#4 Ноя. 1, 2014 00:08:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Ошибка с табуляцией

kakadyi
В чем проблема?
Ты неправильно скопировал из книги.

Либо так:
>>> 1
1
>>> 2
2
>>> 3
3
>>>

Либо так:
1
2
3



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version