2013-03-08 2 views
1

Я пытаюсь центрировать текст строки, но я не могу этого сделать. Я проверил несколько сообщений и попробовал, что они сказали, я не получаю сообщение об ошибке, но текст по-прежнему выравнивается влево. здесь код и str я хочу центрироватьЦентр str в python 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

ваш 'попробовать:' заявление no 'except:' part. Где вы пытаетесь центрировать что-то в этом коде. Операция 'print' без окончательного' 'запускает следующую печать в новой строке, то есть выравнивается влево. – Anthon

+0

у него есть один, я просто не вставлял его. –

ответ

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

Спасибо! это сработало, но как я применил бы это к этой строке? userNum = float (raw_input (('{:^80}'. Format ('Введите общую сумму вашего счета:')))) кажется, что пробелы после строки тоже ... но что, если я хочу это как раз перед, а не после? –

+0

@AdrianSultu: используйте '^' для центрирования аргумента, '>' для правильного выравнивания, '<' для левого выравнивания. Документация 'str.format' сначала немного сложна (это похоже на тайный мини-язык), но она настолько наполнена лакомствами, что стоит потратить время на освоение. – unutbu

Смежные вопросы