.format()的语法错误(Python 3.2.3)

时间:2015-03-19 13:27:38

标签: python

所以我正在尝试编写一个写一个单词的程序,用标记(<或>)填充20个空格,然后向后写入相同的单词。它还需要用户输入。 谁能告诉我我做错了什么

 while test2 == 1 : 
    test = input("Enter a word to format. Entering QUIT will exit the program:")
    if test == ("quit"):
        print("You have quit the program.")
        break
    else:
        print("{0:*<20}{1:*>20})".format(
            "test")(["test"::-1])

2 个答案:

答案 0 :(得分:0)

从上一个"语句中,您的print位置错误。

print("{0:*<20}{1:*>20}").format("test")(["test"::-1])
                       ^

你的format()参数还有一些其他的语法错误,这适用于文字字符串&#34; test&#34;但是您需要将其替换为变量以将其与实际用户输入一起使用:

print("{0:*<20}{1:*>20}").format("test","test"[::-1])

答案 1 :(得分:0)

您的上一行有错误,请尝试以下操作,在单词之间获得20个空格

In [1]: s = "test"
In [2]: print('{0:<20}{1}'.format(s,s[::-1]))

test                tset

你也可以使用主观上更清洁的print('{0}{1}{2}'.format(s," "*20,s[::-1]))