Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
 Аватар для DMustache
1 / 1 / 0
Регистрация: 25.07.2020
Сообщений: 101

Форматирование строк, выравнивание текста

30.10.2020, 14:10. Показов 5699. Ответов 9

Студворк — интернет-сервис помощи студентам
надо сделать так, чтобы текст был выровнен по правому краю, но при этом убрать ненужные пробелы
Python
1
2
3
4
5
n = int(input('Введите количество пунктов: '))
lenspaces = len(str(n))
int(n)
for i in range(1, n + 1):
    print('{:>lenspaces}'.format(lenspaces,f"{i}. Кря? - Кря!"))
Прошу прощения за выводимую строку(
Я хочу чтобы количество пробелов зависело от разряда числа "n"
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2020, 14:10
Ответы с готовыми решениями:

Выравнивание текста
Добрый день! Имеется текстовый файл такого вида: RMC,073922.00,A,5544.41780,N,03731.76945,E,0.709,,210818,,,A*74 ...

Выравнивание текста
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять его по правому краю добавив в начало каждой непустой строки...

Форматирование текста
В общем суть такова: было желание сделать бота, который парсит электронный дневник, но так как сайт без апи, и написан очень криво, я...

9
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,688
Записей в блоге: 29
30.10.2020, 14:36
SpiritGhost, посмотри доку по форматам, вот пример
Python
1
2
3
4
5
6
7
8
9
>>> text='TEST'
>>> f'{text:>10}'
'      TEST'
>>> f'{text:<10}'
'TEST      '
>>> f'{text:_>10}'
'______TEST'
>>> f'{text:*>10}'
'******TEST'
1
 Аватар для DMustache
1 / 1 / 0
Регистрация: 25.07.2020
Сообщений: 101
01.11.2020, 01:29  [ТС]
Спасибо, но это я уже знаю, но проблема в том, что я хочу чтобы у меня при переходе в новый разряд количество пробелов перед сообщением уменьшалось на один, то есть, находится максимальный разряд, от него получаем количество пробелов(при счетчике в 1000 — 4 пробела, при 100 — 3 пробела) И для первых десяти сообщений было 4 пробела, если 1000 — наш максимальный счетчик, от 10 до 100 было 3 пробела, и 2 пробела при тысячи.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.11.2020, 05:08
Python
1
2
3
4
5
6
7
In [1]: n = int(input())
1000
 
In [2]: len_n = len(str(n)) # или через while и //
 
In [3]: for x in range(1, n+1):
   ...:     print(f'|{x:>{len_n}}|')
Code
1
2
3
4
5
6
7
8
9
10
11
12
|   1|
|   2|
|   3|
|   4|
|   5|
...
| 995|
| 996|
| 997|
| 998|
| 999|
|1000|
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,688
Записей в блоге: 29
01.11.2020, 09:22
Цитата Сообщение от SpiritGhost Посмотреть сообщение
но это я уже знаю,
а похоже что нет
меняем только число, запись остается
Python
1
2
3
4
5
6
7
8
>>> print(f'{1:>4}')
   1
>>> print(f'{10:>4}')
  10
>>> print(f'{100:>4}')
 100
>>> print(f'{1000:>4}')
1000
0
 Аватар для DMustache
1 / 1 / 0
Регистрация: 25.07.2020
Сообщений: 101
01.11.2020, 17:16  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
меняем только число
то есть мне надо для каждого разряда прописывать количество пробелов? нельзя вместо 4 поставить переменную?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.11.2020, 17:17
SpiritGhost, мой ответ смотрели? Не зашел?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
01.11.2020, 17:33
Лучший ответ Сообщение было отмечено SpiritGhost как решение

Решение

Цитата Сообщение от SpiritGhost Посмотреть сообщение
ельзя вместо 4 поставить переменную?
Можно. Только зачем?

Добавлено через 2 минуты
Python
1
2
3
4
5
6
>>> '{value:>{width}}'.format(value=100, width=4)
' 100'
>>> '{value:>{width}}'.format(value=100, width=5)
'  100'
>>> '{value:>{width}}'.format(value=0, width=5)
'    0'
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
01.11.2020, 17:33
SpiritGhost, мой ответ смотрели?
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Можно. Только зачем?
исключительно методом магического шара могу предположить, что для того, чтобы сделать динамическую ширину колонки таблицы
0
 Аватар для DMustache
1 / 1 / 0
Регистрация: 25.07.2020
Сообщений: 101
01.11.2020, 18:44  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
{value:>{width}}
оказывается так тоже можно делать. Вау, спасибо

Добавлено через 1 минуту
Цитата Сообщение от Jabbson Посмотреть сообщение
мой ответ смотрели?
Извините, немного не знаком с тем, что вы написали, сейчас ищу информацию по этому поводу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2020, 18:44
Помогаю со студенческими работами здесь

Форматирование строк
Не могу понять куда вставить .format для выравнивания столбиков с числами import random a = print(&quot;sum:&quot;, sum(x for x...

Форматирование строк
Дайте совет или помогите понять как реализовать данную задачу: Написать функцию numeric_formatter(template, number) для форматирования...

Выравнивание строк в цикле
Помогите с такой задачей, пожалуйста. Нужно было вывести информацию обо всех студентах с фамилией Петров. Информация выводится...

Форматирование текста с регулярными выражениями
Уважаемые специалисты пайтон, столкнулся с интересной задачей: нужно изменить все подстроки в тексте с 'US$ХХХ' на 'XXX долл. США'....

Выравнивание длинного текста по центру консоли
# Внимание! Размещение заданий в виде картинок запрещено. Текст задания должен быть набран # # ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru