From 6d173b0138fbc9bc2063f2d29e166371f40fb210 Mon Sep 17 00:00:00 2001 From: iminlan <38048764+iminlan@users.noreply.github.com> Date: Fri, 29 Jun 2018 07:36:38 +0500 Subject: [PATCH] Update tests.py --- homework/tests.py | 52 +++++++++-------------------------------------- 1 file changed, 10 insertions(+), 42 deletions(-) diff --git a/homework/tests.py b/homework/tests.py index 7b5afd5..b7b864d 100644 --- a/homework/tests.py +++ b/homework/tests.py @@ -1,43 +1,4 @@ -import datetime - - -def test_leap_year(): - """ - Задание: необходимо реализовать функцию is_leap_year, принимающую на вход объект типа datetime.date - и возвращающую True, если год этой даты високосным, False - в противном случае. - Документация по типу datetime.date находится здесь: - https://docs.python.org/3/library/datetime.html#datetime.date - Алгоритм определения високосного года можно посмотреть в википедии: - https://ru.wikipedia.org/wiki/Високосный_год#Григорианский_календарь - """ - - def is_leap_year(date): - pass - - assert is_leap_year(datetime.date(year=2000, month=5, day=13)) - assert is_leap_year(datetime.date(year=2016, month=11, day=1)) - assert is_leap_year(datetime.date(year=1600, month=8, day=9)) - assert not is_leap_year(datetime.date(year=1900, month=1, day=1)) - assert not is_leap_year(datetime.date(year=2003, month=3, day=7)) - assert not is_leap_year(datetime.date(year=2001, month=10, day=15)) - - -def test_file_data(): - """ - Задание: необходимо реализовать функцию, которая принимает filename - имя текстового файла и переменную word, - содержащую искомое слово. Функция должна возвращать количество вхожений искомого слова в исходный текст, без - учета регистра. Текст не содержит знаков препинания, а слова разделены пробелами. - Для чтения данных из файла можно воспользоваться функцией open() - Документация по работе с файлами находится здесь: - https://docs.python.org/3/tutorial/inputoutput.html - """ - - def count_word_in_file(filename, word): - pass - - assert count_word_in_file("homework/pony.txt", "радуга") == 0 - assert count_word_in_file("homework/pony.txt", "и") == 3 - assert count_word_in_file("homework/pony.txt", "пони") == 5 +import re def test_text_stat_hard(): @@ -49,8 +10,15 @@ def test_text_stat_hard(): """ def text_stat(filename): - pass + num_line, num_words, num_characters = 0, 0, 0 + + with open(filename, "r") as f: + for line in f: + num_line += len(re.findall(r'\n', line)) # ищем строки по символам Enter + num_words += len(re.findall(r'\w+', line)) # ищем слова + num_characters += len(line) # считаем символы + return (num_line, num_words, num_characters) assert text_stat("homework/textstat1.txt") == (6, 69, 445) assert text_stat("homework/textstat2.txt") == (6, 73, 459) - assert text_stat("homework/textstat3.txt") == (10, 73, 447) + assert text_stat("homework/textstat3.txt") == (10, 73, 467)