2016-05-24 9 views
0

У меня есть функция, которая печатает количество пикселей, найденных на изображении, и затем спрашивает у пользователя, как они будут действовать. Пока интерпретатор не перешел от функции, я хочу, чтобы все выходные данные были отступом соответственно.Многострочный входной отступ ввода, мешающий выходному отступу

Один такой «вспомогательный выход» (приглашение ввода) должен быть несколько строк. Поэтому я начинаю с цитаты 3 * ('''), за которой следуют два пробела для создания отступа. В конце вопроса: «Как бы вы хотели продолжить?» Я использую жесткий возврат. Текстовым редактором является дополнительный отступ, поэтому я удаляю его, в результате чего следующий список предложений выравнивается с входной переменной command. Вот как это выглядит:

def returnColors(): 

    # 
    # lots of code that does stuff... 
    # 

    print("The source image contains", lSize, "px.")  
    print("")             
    command=input(''' What would you like to do? You can say: 

    get all             
    get unique             

    ''')              

Проблема с этим состоит в том, что переводчик признает отступ, который отделяет тело функции от функции заявления в качестве фактического содержимого строки, заставляя выход выглядеть следующим образом:

The source image contains 512 px. 

    What would you like to do? You can say... 

    get all 
    get unique 

    | 

Единственный способ избежать этого - сломать отступ в интерпретаторе. Хотя я знаю, что это работает, это выглядит не очень хорошо. Итак, какие у меня варианты?

EDIT: Просто потому, что у меня есть screenshot_

enter image description here

ответ

1

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

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

IE.

command=input(''' 
    What would you like to do? You can say: 

    get all             
    get unique 

    ''')  

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