2015-03-12 2 views
2

Я печатаю целое число, которое может иметь длину 1 или 2 цифры.
Я использую:Печать с ровно 1 пробелом, если одна цифра?

print str(myInt) 

Однако, я хочу, чтобы всегда печатать то, что длиной 2 «пространства». Как и в случае, если myInt имеет только 1 цифру, тогда я хочу, чтобы он был заполнен пробелом, а затем распечатал цифру. Есть ли простой способ сделать это? пример вывода о том, что я хочу:

1 
15 
20 
3 

ответ

5
>>> print '{:2}'.format(1) 
1 
>>> print '{:2}'.format(23) 
23 
+0

это сработало! благодаря!! – user4348719

0
import re 
x=[1,15,20,3] 
print [re.sub(r"^0"," ",str(i).zfill(2)) for i in x] 

Выход: [' 1', '15', '20', ' 3']

Жесткий способ сделать простые вещи: P

0

Вы можете достичь желаемых результатов, выполнив:

print "%2s" % num 

Где 2 - минимальная ширина поля. Например:

print "%2s" % 4 
print "%2s" % 12 

приведет:

4 
12 

Если вам нужно больше пространства, ведущие вам просто нужно заменить 2 в %2s для соответствующей минимальной ширины поля. Я рекомендую вам ознакомиться с документацией String Formatting Operations.

0

Здесь вам не нужно преобразовывать Intger в String.

val = 10 
val1 = 1 
print "%2d" % val 
print "%2d" % val1 

выход:

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