2015-03-28 2 views
2

Так что это мой код, но он возвращает ошибку, подобную этому «Неизвестный формат кода« e »для объекта типа« str ». Зачем??Форматирование строк в python с переменными

c="*"*i 
e=input01 
d="{:>e}" 
print(d.format(c)) 
+0

напишите, что вы пытаетесь достичь? что должен делать ваш код? какой результат вы ожидаете? – Reto

ответ

2

Pass e в формат в качестве переменной, вы просто используете строку "e", следовательно, ошибка:

d = "{:>{e}}" 
print(d.format(c, e=e)) 

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

In [3]: c = "*" * 4  
In [4]: e = "10"  
In [5]: d = "{:>{e}}"  
In [6]: d.format(c, e=e) 
Out[6]: '  ****' 

Вы также можете удалить e из формата и передать его в качестве второго аргумента в формате:

d = "{:>{}}" 
print(d.format(c, e)) 

В любом случае необходим {} после >.

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