С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 29

Задача "Письмо" (Работа с документами)

08.04.2022, 19:55. Показов 4949. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача "Письмо" (Работа с документами в Python)

В письме обычно есть три части: приветствие, собственно письмо и прощание. Вводится текст, на основе которого нужно создать документ в формате docx,
в котором первая из введенных строк – приветствие,
две последние – прощание,
остальные – рядовые абзацы.

Форматирование приветствия: выравнивание по правому краю, курсив, шрифт Arial, кегль 11.

Форматирование рядовых абзацев: выравнивание по ширине, первая строка с отступом 0.5 дюйма, шрифт Times New Roman, кегль 12.

Форматирование прощания: выравнивание по левому краю без отступа, последняя строка – полужирное начертание, шрифт по умолчанию.

Сохраните письмо в файл letter.docx.

Если ввести такой текст:

Dear Kate and Nick,
We are looking forward very much to your visit to our country this summer. We are expecting you at the beginning of July and are hoping that you may stay until the end of the month or longer.
We consider it a privilege for us to receive you as guests in our house. We are very grateful indeed to you for consenting to come and stay with us. We are looking forward to offering you hospitality in return for the hospitality you have kindly given us on many occasions.
We want you to understand that we will see to all your needs while you are with us and to any expenses that may arise.
Yours sincerely,
John and Mary

и отформатировать его по описанным правилам, то выглядеть письмо может так:
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2022, 19:55
Ответы с готовыми решениями:

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в папке "Общие документы" и задать для него свойство...

При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не отправлено
При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не отправлено. В чем может быть причина? ...

Работа с документами
Добрый вечер, ребята есть проблема. Нужно что-бы документ при вводе в форму сохранял свой вид а не был в одну строчку. Если кто-то...

3
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 29
08.04.2022, 20:00  [ТС]
Пример письма
Миниатюры
Задача "Письмо" (Работа с документами)  
0
1 / 1 / 0
Регистрация: 17.04.2019
Сообщений: 42
12.04.2022, 12:55
подскажите правильно ли реализовала задачу

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from docx import Document
from docx.shared import Inches, Pt, Cm
 
document = Document()
 
section = document.sections[-1]
section.top_margin = Inches(0.8)
section.bottom_margin = Inches(0.8)
section.left_margin = Inches(1.2)
style = document.styles['Normal']
style.font.name = 'Times New Roman'
style.font.size = Pt(12)
 
paragraph_format = document.styles['Normal'].paragraph_format
paragraph_format.line_spacing = Pt(12)
p = document.add_paragraph()
p.font.name = 'Arial'
p.font.size = Pt(11)
p.alignment = 2
style = p.add_run('Dear Kate and Nick,').italic = True
 
p = document.add_paragraph("""We are looking forward very much to your visit to our 
country this summer. We are expecting you at the beginning
of July and are hoping that you may stay until the end of 
the month or longer.""")
p_fmt = p.paragraph_format
p_fmt.first_line_indent = Cm(1.25)
p = document.add_paragraph("""We consider it a privilege for us to receive you as guests
in our house. We are very grateful indeed to you for consenting
to come and stay with us. We are looking forward to offering you 
hospitality in return for the hospitality you have kindly given 
us on many occasions.""")
p_fmt = p.paragraph_format
p_fmt.first_line_indent = Cm(1.25)
p = document.add_paragraph("""We want you to understand that we will see to all your needs
while you are with us and to any expenses that may arise.""")
p_fmt = p.paragraph_format
p_fmt.first_line_indent = Cm(1.25)
document.add_paragraph('Yours sincerely,')
p = document.add_paragraph()
p.add_run('John and Mary').bold = True
 
document.save('letter.docx')
0
3 / 2 / 1
Регистрация: 22.04.2022
Сообщений: 4
04.05.2022, 08:22
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.style import WD_STYLE_TYPE
from docx.shared import Inches, Pt, Mm
import sys
 
data = list(map(lambda x: x.replace('\n', ''), sys.stdin.readlines()))
 
document = Document()
 
p1 = document.add_paragraph(data[0])
p1.style = document.styles.add_style('P', WD_STYLE_TYPE.PARAGRAPH)
font = p1.style.font
font.name = 'Arial'
font.size = Pt(11)
font.italic = True
p1.alignment = WD_ALIGN_PARAGRAPH.RIGHT
 
style = document.styles['Normal']
style.font.name = 'Times New Roman'
style.font.size = Pt(12)
 
for i in data[1:-2]:
    p = document.add_paragraph(i)
    p.alignment = WD_ALIGN_PARAGRAPH.JUSTIFY
    p_fmt = p.paragraph_format
    p_fmt.first_line_indent = Inches(0.5)
 
 
p2 = document.add_paragraph(data[-2])
p2.alignment = WD_ALIGN_PARAGRAPH.LEFT
fmt = p2.paragraph_format
fmt.space_after = Mm(0)
p3 = document.add_paragraph(data[-1])
p3.alignment = WD_ALIGN_PARAGRAPH.LEFT
p3.style = document.styles.add_style('P3', WD_STYLE_TYPE.PARAGRAPH)
font = p3.style.font
font.bold = True
 
document.save('letter.docx')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2022, 08:22
Помогаю со студенческими работами здесь

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

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

Работа с документами Word из с#
Есть документ word в который вставляю шаблон, в этом шаблоне заменяю закладки на необходимый текст - здесь все хорошо... но как вставить в...

Работа с документами (Word)
Доброго времени суток. Уже часа 4 мучаюсь в поисках хотя бы зацепки решения своей проблемы, но, всё безуспешно. Может быть, вы сможете мне...

Работа с текстовыми документами в С(Си)
Помогите пожалуйста исправить код и дописатьписать функцию...:help: Напишите функцию int parne(int x, int pocetx, int y), которая...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru