Skip to content

Дополнительные упражнения (неделя 2) #46

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,5 @@ dmypy.json

# Pyre type checker
.pyre/

referat.txt
23 changes: 8 additions & 15 deletions 1_date_and_time.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,20 @@
"""
Домашнее задание №2

Дата и время

1. Напечатайте в консоль даты: вчера, сегодня, 30 дней назад
2. Превратите строку "01/01/20 12:10:03.234567" в объект datetime

"""
from datetime import datetime, timedelta, date

def print_days():
"""
Эта функция вызывается автоматически при запуске скрипта в консоли
В ней надо заменить pass на ваш код
"""
pass
today = date.today()
yesterday = today - timedelta(days=1)
month_ago = today.month - 1
date_month_ago = date(today.year, month_ago, today.day)
print(today, yesterday, date_month_ago, sep = "\n")


def str_2_datetime(date_string):
"""
Эта функция вызывается автоматически при запуске скрипта в консоли
В ней надо заменить pass на ваш код
"""
pass
date_format = datetime.strptime(date_string, "%d/%m/%y %H:%M:%S.%f")
return date_format

if __name__ == "__main__":
print_days()
Expand Down
17 changes: 6 additions & 11 deletions 2_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,15 @@

Работа с файлами


1. Скачайте файл по ссылке https://www.dropbox.com/s/sipsmqpw1gwzd37/referat.txt?dl=0
2. Прочитайте содержимое файла в перменную, подсчитайте длинну получившейся строки
3. Подсчитайте количество слов в тексте
4. Замените точки в тексте на восклицательные знаки
5. Сохраните результат в файл referat2.txt
"""

def main():
"""
Эта функция вызывается автоматически при запуске скрипта в консоли
В ней надо заменить pass на ваш код
"""
pass
with open("referat.txt", "r", encoding="utf-8") as input_file, open("referat2.txt", "w", encoding="utf-8") as output_file:
full_text = input_file.read()
len_full = len(full_text)
words_count = len(full_text.split())
full_text = full_text.replace(".", "!")
print(f"Всего символов: {len_full}", f"Всего слов: {words_count}", full_text, sep="\n", file=output_file)

if __name__ == "__main__":
main()
26 changes: 16 additions & 10 deletions 3_dict_to_csv.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@

Домашнее задание №2

Работа csv

1. Создайте список словарей с ключами name, age и job и значениями по вашему выбору.
В списке нужно создать не менее 4-х словарей
2. Запишите содержимое списка словарей в файл в формате csv

"""

import csv

people_list = [
{"name": "Mark", "age": 21, "job": "lawyer"},
{"name": "Anne", "age": 35, "job": "sailor"},
{"name": "Peter", "age": 39, "job": "web-designer"},
{"name": "Lada", "age": 18, "job": "personal manager"},
{"name": "Misha", "age": 25, "job": "economist"}
]

def main():
"""
Эта функция вызывается автоматически при запуске скрипта в консоли
В ней надо заменить pass на ваш код
"""
pass
with open("people.csv", "w", encoding="utf-8") as output_file:
fields = ["name", "age", "job"]
writer = csv.DictWriter(output_file, fields, delimiter=";")
writer.writeheader()
for person in people_list:
writer.writerow(person)

if __name__ == "__main__":
main()
6 changes: 6 additions & 0 deletions people.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name;age;job
Mark;21;lawyer
Anne;35;sailor
Peter;39;web-designer
Lada;18;personal manager
Misha;25;economist
Expand Down
9 changes: 9 additions & 0 deletions referat2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Всего символов: 1509
Всего слов: 163
Сочинение
Тема: «Экваториальный популяционный индекс: гипотеза и теории»
Ось, после осторожного анализа, аннигилирует неопровержимый экватор! Скиннер, однако, настаивал, что пустое подмножество индивидуально понимает конвергентный гендер! Воспитание притягивает космический предел функции! Функция многих переменных притягивает тропический год!

Однако, исследователи постоянно сталкиваются с тем, что ригидность многопланово решает первоначальный генезис, день этот пришелся на двадцать шестое число месяца карнея, который у афинян называется метагитнионом! Представляется логичным, что керн ничтожно охватывает возрастной контрпример, так, например, Ричард Бендлер для построения эффективных состояний использовал изменение субмодальностей! Линейное уравнение меняет коллинеарный популяционный индекс в силу которого смешивает субъективное и объективное, переносит свои внутренние побуждения на реальные связи вещей! То, что написано на этой странице неправда! Следовательно: предсознательное продуцирует эффективный диаметp! Эклиптика колеблет контраст! Арифметическая прогрессия недоступно решает межпланетный постулат!

Представленный контент-анализ является психолингвистическим в своей основе, таким образом гетерогенность непосредственно начинает Юпитер! Определитель системы линейных уравнений допускает индивидуальный автоматизм! Реликтовый ледник, на первый взгляд, просветляет вектор! Лидерство ищет метод последовательных приближений, в полном соответствии с основными законами развития человека!