Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 10.12.2021
Сообщений: 53

Сформировать приглашения по указанному списку адресатов

10.12.2021, 18:14. Показов 1247. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, помогите пожалуйста с решением задачи.
Вот сама задача:

Задача:

Вам даётся файл с неизвестным заранее количеством строк.
В каждой строке будет содержаться Имя Фамилия и почта несуществующих людей.

Ваша задача написать алгоритм, который будет создавать новый файл, в новой папке, в директории проекта.

В файле на первой строке должна быть указана почта адресата, остальные строчки должны быть заполнены именным приглашением на мероприятие, последняя строчка должна содержать номер письма относительно общего количества.
Приглашение должно формироваться из набора задаваемых пользователем шаблонов (порядок применения шаблонов не важен).

Пример файла:

ShishkinaSofia@gmail.com

Здравствуйте, Шишкина Софья!

Вы приглашены на мероприятие, посвящённое дню программиста! Мероприятие состоится …

1/10

Файл “list” из которого должна подкидываться информация приложил к этому топику
Вложения
Тип файла: txt list.txt (898 байт, 9 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2021, 18:14
Ответы с готовыми решениями:

Отправка письма списку адресатов
Привет, как отправить письмо списку, я в мемо загрузил список мыл, теперь нужно по ним разослать письмо, покажите пожалуйста, устал..

Прописать путь к списку рассылки писем, не задавая адресатов в коде
Есть программа отправляющая письма клиентам, нужно прописать путь к .txt файлу со списком адресов. Что бы адреса были в отдельном файле, а...

Дублирование папок с файлами по указанному списку
Всем привет. Я часто на работе выполняю одну задачу, которую хотелось бы как-то автоматизировать и ускорить. Разъясню. Компания...

5
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
10.12.2021, 18:45
Цитата Сообщение от DimonSev Посмотреть сообщение
Ваша задача написать алгоритм
- пишем:

0. Открыть входной и выходной файлы
1. Достигнут конец входного файла? Да - закрыть файлы и стоп
2. Читать очередную строку
3. Извлечь из нее имя и почтовый адрес
4. Вывести в выходной файл очередное письмо
5. На п.1


1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
10.12.2021, 18:47
открываем файл. считываем построчно в список
в цикле идем по списку. берем элемент, делим по последнему пробелу - теперь у нас есть имя и почта которые присваиваем переменным
создаем строку текста вставляя в требуемые строки почту и имя. пишем в файл
1
3 / 3 / 0
Регистрация: 10.12.2021
Сообщений: 53
10.12.2021, 19:08  [ТС]
Можешь в виде кода как то написать?

Добавлено через 1 минуту
Можешь в виде кода как то написать?

Вот что я написал, но это не работает

Python
1
2
3
4
5
6
7
8
9
10
filepatch = "C://lessons//list.txt"
file = open(filepatch, "r+")
text = file.readlines()
def text_generate(email="", index=0, all=0, template=""):
    return f"{email}\n{template}\n{index}/{all}"
def text_generate(first_name="", second_name="", email="", index=0, all=0, template=""):
    try:
        with open(f"{first_name}_{second_name}.txt", "w") as f:
            f.write(text_generate(email=email, index=index, all=all, template=template))
print()
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
11.12.2021, 08:22
Лучший ответ Сообщение было отмечено DimonSev как решение

Решение

Цитата Сообщение от DimonSev Посмотреть сообщение
Вот что я написал, но это не работает
- лютая дичь... Сам писал?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
finame=input("Имя входного файла: ")
foname=input("Имя выходного файла: ")
 
with open(finame,"r",encoding="UTF-8") as finp, open(foname,"w",encoding="UTF-8") as fout:
    tmp=[]
    while True:
        stri=finp.readline()
        if not stri:
            break
        tmp.append(stri)
    n=len(tmp)
    c=1;
    for stri in tmp:
        k=stri.rfind(" ")
        name=stri[:k]
        email=stri[k+1:]
        fout.write(email+"\n\n")
        fout.write("Здравствуйте "+name+"\n")
        fout.write("Вы приглашены на мероприятиe, которое состоится бла-бла-бла\n\n")
        fout.write(str(c)+"/"+str(n)+"\n\n")
        c+=1
2
3 / 3 / 0
Регистрация: 10.12.2021
Сообщений: 53
11.12.2021, 16:32  [ТС]
Спасибо тебе большое! Я теперь хоть знаю как правильно это делать надо было. Да это было написано совместно с преподавателем, я немножко ещё своего добавил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2021, 16:32
Помогаю со студенческими работами здесь

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

Сформировать матрицу по указанному правилу
Матрицу A сформировать по следующему принципу: по диагонали расположены еденицы, выше диагонали - нули, а элементы, расположенные ниже...

Сформировать массив по указанному правилу
Сформировать массив: Y=A+A Y= A+A Y= A+A и т.д. (n - четное) Не знаю как написать данную программу

Сформировать вектор по указанному правилу
Задано целое число k>3 и массив действительных чисел v=(v1,v2,...,vN).Найти вектор g(i)=(vi+3k,vi+2k,vi+3k,vi+k,vi+5k),i=1,k и...

Сформировать последовательность по указанному правилу
2.Возьмите два натуральных числа a и b. Образуйте последовательность, состоящую и n членов: a=x1, b =x2, x3= x1+x2 ,.....,xi=...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru