2016-05-24 4 views
0

イメージに含まれるピクセル数を出力し、どのように処理したいかをユーザーに尋ねる機能があります。インタプリタが関数から移動していない限り、すべての出力がそれに応じてインデントされるようにしたい。出力のインデントを妨げる複数行の入力プロンプトインデント

このような「サブ出力」(入力プロンプト)は、複数の行にする必要があります。だから私は3つの引用符(''')で始まり、インデントを作成するために2つのスペースを続けます。質問の終わりに「あなたはどのように進めたいですか?」私はハードリターンを使用します。テキストエディタでは余分な字下げが想定されていますので、次のような候補リストを入力変数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             

    ''')              

インタプリタはこのように見えるように出力を引き起こし、実際の文字列の内容として、function文から関数本体を分離インデントを認めていることをこれで問題がある:

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 

    ''')  

新しい行が表示されたプロンプトが印刷されますが、テキストの書式がより明示的に表示され、表示されるはずです。

関連する問題