#python #string
#python #строка
Вопрос:
Я пытаюсь вставить динамические элементы в таблицу, но кажется, что встроенная функция заполнения не работает с переменными. Просто интересно, делаю ли я что-то неправильно или есть простые альтернативы заполнению по центру. Я знаю о ljust и rjust, но по какой-то причине нет m(iddle).
Простой пример:
a=10
b='hi'
print(f'{b:^a}')
или
a=10
b='hi'
print('{:^a}'.format(b))
производит
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'a' for object of type 'str'
Ввод 10 вместо a в инструкции print заставляет его работать по назначению, поэтому я предполагаю, что форматированная строка интерпретируется как строка. Является ли вспомогательная функция единственным выходом здесь?
Комментарии:
1. Каков желаемый результат?
Ответ №1:
In [114]: print(f'{b:^{a}}')
hi
In [115]: print(f'"{b:^{a}}"')
" hi "
Ответ №2:
Вероятно, нужно добавить еще один набор скобок
a=10
b='hi'
print(f'{b:^{a}}')