Найти - Пользователи
Полная версия: вставит нужное кол-во пробелов
Начало » Python для новичков » вставит нужное кол-во пробелов
1 2
pupkin2
привет.

есть необходимость выводить в stdout строку после нужного кол-ва пробелов. реализовал это тупо с использованием цикла. но это через*опное решение.
подскажите как это сделать правильно?
и такой же вопрос касательно строк. как выводить в строку после нужного кол-ва пробелов?

спасибо.
PooH
In [6]: n = 10
In [7]: s = "test"
In [8]: "%s%s" % (' '*n, s)
Out[8]: ' test'
s0rg
print  ' ' * 10, 'string'
Enchantner
print '{:>10}'.format('string')
Хотя нет, вру, это выравнивание в поле 10.
Yurietc
Используйте rjust:
>>> q='qwe'
>>> q.rjust(10,'.')
'.......qwe'
Вместо точки можно ставить любой символ.
pupkin2
всем благодарен.
pupkin2
PooH, скажите, для python-3.2 как ваш способ записать нужно?
записал так:
sys.stdout.write("%s%s".format(" " * tab, name))
но выводит: %s%s
что тут не правильно?

еще вопрос. тут “*” что означает?

спасибо.
py.user.next
>>> s = 'abc'
>>> print ' ' * 10 + s
abc
>>>
>>> import sys
>>> sys.stdout.write(' ' * 10 + s)
abc>>>
s0rg, у тебя там лишний пробел
Yurietc, выравнивание может вообще не дать пробелов

pupkin2
что тут не правильно?
неправильно используешь .format()
pupkin2
неправильно используешь .format()
спасибо. это я отлично понял. но вопрос как бэ намекал на пояснение ;)
py.user.next
>>> '%s%s'
'%s%s'
>>> '%s%s' % (1, 2)
'12'
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB