我有一个函数可以打印图像中找到的像素数,然后询问用户他们希望如何继续。只要解释器没有从函数中移动,我希望所有输出都相应缩进。
一个这样的“子输出”(输入提示)需要是多行。所以我开始使用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
|
避免这种情况的唯一方法是通过破解解释器中的缩进。虽然我知道它有效但看起来不太好。那我有什么选择呢?
编辑:因为我有截图_
答案 0 :(得分:1)
你应该记住的一件事是,一旦你开始一个多行字符串声明,所有文本直到它被关闭是按原样进行的,并且不再考虑语法(即缩进)。
您可以使用显式换行开始多线,以便多行字符串中的所有内容都可以在代码中缩进。
IE。
command=input('''
What would you like to do? You can say:
get all
get unique
''')
会在顶部打印出一个新行,但会更明确地显示文本的格式,并且应该如图所示。