2013-03-08 270 views
1

我想中心字符串的文本,但我不能这样做。我检查了多个帖子,并尝试了他们所说的话,我没有得到一个错误,但文本仍然左对齐。这里代码和str我想要中心蟒蛇中心str 2.7

while True: 
     print '' 
     while True: 
       try: 
        userNum = float(raw_input('Enter the total of your bill: ')) 

        if (userNum) > 0 and (userNum) != 0: 
         break 
        else: 
         print 'Oops! That was no valid number. Try again...' 
+1

你'尝试:'语句没有'除了:'部分。你在哪里尝试在这个代码中集中某些东西。没有最终''的'print'语句将在新行开始下一个打印,即左对齐。 – Anthon 2013-03-08 19:21:00

+0

它确实有一个,我只是没有粘贴它。 – 2013-03-08 20:24:41

回答

6

您可以使用str.format。该^80格式告诉Python来使串长80个字符,并以中心论点:

print('{:^80}'.format('Oops! That was not a valid number. Try again...')) 

产量

   Oops! That was not a valid number. Try again...     
+0

谢谢!这工作,但我将如何应用这个字符串? 它似乎把字符串之后的空格太......但如果我想要什么(如果我想要的话)它只是之前而不是之后? – 2013-03-08 19:27:04

+0

@AdrianSultu:使用'^'居中参数,'>'为右对齐,'<'为左对齐。 “str.format”的文档起初有点令人生畏(它就像一个神秘的迷你语言),但它充满了好东西,值得花时间去掌握。 – unutbu 2013-03-08 19:37:11