From 884c8cce2b737a2e5cd890738ed740f8dc8b4461 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Mon, 15 May 2023 10:48:01 +0300 Subject: [PATCH 01/12] Done --- for_challenges.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/for_challenges.py b/for_challenges.py index 997754da..994418fa 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -2,7 +2,8 @@ # Необходимо вывести имена всех учеников из списка с новой строки names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? +for i in names: + print(i) # Задание 2 @@ -12,7 +13,8 @@ # Петя: 4 names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? +for i in names: + print(f'{i}: {len(i)}') # Задание 3 @@ -25,7 +27,12 @@ 'Маша': False, } names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? +for i in is_male: + if is_male[i] == True: + print(f'{i} пол мужской') + else: + print(f'{i} пол женский') + # Задание 4 @@ -40,7 +47,11 @@ ['Вася', 'Маша', 'Саша', 'Женя'], ['Оля', 'Петя', 'Гриша'], ] -# ??? +a = 0 +for i in groups: + a += 1 + print(f'Группа {a}: {len(i)} ученика') + # Задание 5 @@ -54,4 +65,7 @@ ['Оля', 'Петя', 'Гриша'], ['Вася', 'Маша', 'Саша', 'Женя'], ] -# ??? \ No newline at end of file +a = 0 +for i in groups: + a += 1 + print(f'Группа {a}: {", ".join(i)}') \ No newline at end of file From 93c3aa6fc6ed8daf092542d80eba750a3a0e1b39 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Mon, 15 May 2023 10:48:50 +0300 Subject: [PATCH 02/12] Done --- string_challenges.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/string_challenges.py b/string_challenges.py index 856add2d..19ed9c48 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -1,6 +1,7 @@ # Вывести последнюю букву в слове word = 'Архангельск' -# ??? +print(word[-1]) + # Вывести количество букв "а" в слове From e7901d1a48b75683794ede4a6f0ef68774e78681 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Mon, 15 May 2023 11:25:34 +0300 Subject: [PATCH 03/12] Done --- for_challenges.py | 3 ++- string_challenges.py | 14 +++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/for_challenges.py b/for_challenges.py index 994418fa..345e3feb 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -48,9 +48,10 @@ ['Оля', 'Петя', 'Гриша'], ] a = 0 +print(f'Всего {len(groups)} группы.') for i in groups: a += 1 - print(f'Группа {a}: {len(i)} ученика') + print(f'Группа {a}: {len(i)} ученика.') diff --git a/string_challenges.py b/string_challenges.py index 19ed9c48..7283ba74 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -6,24 +6,28 @@ # Вывести количество букв "а" в слове word = 'Архангельск' -# ??? +print(len([j for j in ''.join(word) if j.lower() == 'а'])) # Вывести количество гласных букв в слове word = 'Архангельск' -# ??? +print(len([j for j in ''.join(word) if j.lower() not in ['а', 'е', 'у', 'ы', 'о', 'э', 'я', 'и', 'ю']])) # Вывести количество слов в предложении sentence = 'Мы приехали в гости' -# ??? +print(len(sentence.split())) # Вывести первую букву каждого слова на отдельной строке sentence = 'Мы приехали в гости' -# ??? +for i in ''.join(sentence).split(): + print(i[0]) # Вывести усреднённую длину слова в предложении sentence = 'Мы приехали в гости' -# ??? \ No newline at end of file +q = [] +for i in sentence.split(): + q.append(len(i)) +print(int(sum(q)/len(sentence.split()))) \ No newline at end of file From 206062b69f7268c04f34f10b60157cfa3ca6e78b Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Wed, 17 May 2023 12:35:25 +0300 Subject: [PATCH 04/12] Done --- for_dict_challenges.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/for_dict_challenges.py b/for_dict_challenges.py index 96062ebc..b24c568a 100644 --- a/for_dict_challenges.py +++ b/for_dict_challenges.py @@ -12,7 +12,11 @@ {'first_name': 'Маша'}, {'first_name': 'Петя'}, ] -# ??? +from collections import Counter +sum_students = [i['first_name'] for i in students] +print(sum_students) +for i, j in Counter(sum_students).items(): + print(f'{i}: {j}') # Задание 2 @@ -26,7 +30,10 @@ {'first_name': 'Маша'}, {'first_name': 'Оля'}, ] -# ??? +from collections import Counter +a = Counter(i['first_name'] for i in students).most_common(1) +print(f'Самое частое имя среди учеников: {a[0][0]}') + # Задание 3 @@ -51,7 +58,12 @@ {'first_name': 'Саша'}, ], ] -# ??? +from collections import Counter +count = 0 +while count != len(school_students): + ab = Counter(i['first_name'] for i in school_students[count]).most_common(1) + print(f'Самое частое имя в классе {count+1}: {ab[0][0]}') + count += 1 # Задание 4 @@ -72,8 +84,9 @@ 'Миша': True, 'Даша': False, } -# ??? - +for i in school: + print(f"Класс {i['class']}: мальчики {len([j for j in i['students'] if j.get('first_name') in ['Олег', 'Миша']])}, " + f"девочки {len([j for j in i['students'] if j.get('first_name') in ['Маша', 'Оля', 'Даша']])}") # Задание 5 # По информации о учениках разных классов нужно найти класс, в котором больше всего девочек и больше всего мальчиков @@ -91,5 +104,8 @@ 'Олег': True, 'Миша': True, } -# ??? - +for i in school: + if f"{len([j for j in i['students'] if j.get('first_name') in ['Олег', 'Миша']])}" > f"{len([j for j in i['students'] if j.get('first_name') in ['Маша', 'Оля', 'Даша']])}": + print(f"Больше всего мальчиков в классе {i['class']}") + else: + print(f"Больше всего девочек в классе {i['class']}") \ No newline at end of file From 280ba498cf7aad6091e35de5a177651f91303b1b Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Wed, 17 May 2023 14:11:52 +0300 Subject: [PATCH 05/12] Done --- for_dict_challenges_bonus.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/for_dict_challenges_bonus.py b/for_dict_challenges_bonus.py index 9f35a0a0..e9cdfa4a 100644 --- a/for_dict_challenges_bonus.py +++ b/for_dict_challenges_bonus.py @@ -66,5 +66,30 @@ def generate_chat_history(): return messages +def zadacha(messages): + + from collections import Counter + ab = Counter(i['sent_by'] for i in messages).most_common(1) + print(f'Больше всего сообщений написал пользователь ID - {ab[0][0]}') # ответ на первый вопрос + + ac = Counter(i['reply_for'] for i in messages).most_common(2) + print(f'Больше всего ответов - {ac[1][0]}') + for i in messages: + if i['id'] == ac[1][0]: + print(f"{i['sent_by']} айди пользователя, на сообщения которого больше всего отвечали") # ответ на второй вопрос + az = {} + for i in messages: + # print(i['id'], i['reply_for']) + # print(i['sent_by'], i['seen_by']) + if i['sent_by'] not in az: + az[i['sent_by']] = i['seen_by'] + else: + az[i['sent_by']] = az[i['sent_by']] + i['seen_by'] + print(az) + for k, value in az.items(): + print(k, len(set(value))) # решение на 3 задачу + + if __name__ == "__main__": print(generate_chat_history()) + zadacha(generate_chat_history()) From 222cfb6aa9630f6f43f4f261f4e9300fe24453c2 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Fri, 19 May 2023 11:26:41 +0300 Subject: [PATCH 06/12] Done --- for_challenges.py | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/for_challenges.py b/for_challenges.py index 345e3feb..8e478b28 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -2,8 +2,8 @@ # Необходимо вывести имена всех учеников из списка с новой строки names = ['Оля', 'Петя', 'Вася', 'Маша'] -for i in names: - print(i) +for name in names: + print(name) # Задание 2 @@ -13,8 +13,8 @@ # Петя: 4 names = ['Оля', 'Петя', 'Вася', 'Маша'] -for i in names: - print(f'{i}: {len(i)}') +for name in names: + print(f'{name}: {len(name)}') # Задание 3 @@ -27,11 +27,11 @@ 'Маша': False, } names = ['Оля', 'Петя', 'Вася', 'Маша'] -for i in is_male: - if is_male[i] == True: - print(f'{i} пол мужской') +for name in names: + if name == 'Петя' or name == 'Вася': + print(f'{name} пол мужской') else: - print(f'{i} пол женский') + print(f'{name} пол женский') @@ -47,11 +47,10 @@ ['Вася', 'Маша', 'Саша', 'Женя'], ['Оля', 'Петя', 'Гриша'], ] -a = 0 -print(f'Всего {len(groups)} группы.') -for i in groups: - a += 1 - print(f'Группа {a}: {len(i)} ученика.') +counter_1 = 0 +for group in groups: + counter_1 += 1 + print(f'Группа {counter_1}: {len(group)} ученика') @@ -66,7 +65,7 @@ ['Оля', 'Петя', 'Гриша'], ['Вася', 'Маша', 'Саша', 'Женя'], ] -a = 0 -for i in groups: - a += 1 - print(f'Группа {a}: {", ".join(i)}') \ No newline at end of file +count_groups = 0 +for group in groups: + count_groups += 1 + print(f'Группа {count_groups}: {", ".join(group)}') \ No newline at end of file From 4f670433beaa1600190ba272543110f7e479f404 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Fri, 19 May 2023 12:11:59 +0300 Subject: [PATCH 07/12] Done --- for_dict_challenges.py | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/for_dict_challenges.py b/for_dict_challenges.py index b24c568a..dc9a7935 100644 --- a/for_dict_challenges.py +++ b/for_dict_challenges.py @@ -13,11 +13,11 @@ {'first_name': 'Петя'}, ] from collections import Counter -sum_students = [i['first_name'] for i in students] -print(sum_students) -for i, j in Counter(sum_students).items(): - print(f'{i}: {j}') +list_students = [name['first_name'] for name in students] +print(list_students) +for name, number in Counter(list_students).items(): + print(f'{name}: {number}') # Задание 2 # Дан список учеников, нужно вывести самое часто повторящееся имя @@ -31,10 +31,10 @@ {'first_name': 'Оля'}, ] from collections import Counter -a = Counter(i['first_name'] for i in students).most_common(1) -print(f'Самое частое имя среди учеников: {a[0][0]}') - +student_names = (name['first_name'] for name in students) +most_common_name = Counter(student_names).most_common(1) +print(f'Самое частое имя среди учеников: {most_common_name[0][0]}') # Задание 3 # Есть список учеников в нескольких классах, нужно вывести самое частое имя в каждом классе. @@ -51,7 +51,7 @@ {'first_name': 'Маша'}, {'first_name': 'Маша'}, {'first_name': 'Оля'}, - ],[ # это – третий класс + ], [ # это – третий класс {'first_name': 'Женя'}, {'first_name': 'Петя'}, {'first_name': 'Женя'}, @@ -59,13 +59,13 @@ ], ] from collections import Counter + count = 0 -while count != len(school_students): - ab = Counter(i['first_name'] for i in school_students[count]).most_common(1) - print(f'Самое частое имя в классе {count+1}: {ab[0][0]}') +for klass in school_students: + most_common_name = Counter(name['first_name'] for name in school_students[count]).most_common(1) + print(f'Самое частое имя в классе {count + 1}: {most_common_name[0][0]}') count += 1 - # Задание 4 # Для каждого класса нужно вывести количество девочек и мальчиков в нём. # Пример вывода: @@ -84,9 +84,10 @@ 'Миша': True, 'Даша': False, } -for i in school: - print(f"Класс {i['class']}: мальчики {len([j for j in i['students'] if j.get('first_name') in ['Олег', 'Миша']])}, " - f"девочки {len([j for j in i['students'] if j.get('first_name') in ['Маша', 'Оля', 'Даша']])}") +for klass in school: + print( + f"Класс {klass['class']}: мальчики {[is_male[men_person['first_name']] for men_person in klass['students']].count(True)} " + f"девочки {[is_male[women_person['first_name']] for women_person in klass['students']].count(False)}") # Задание 5 # По информации о учениках разных классов нужно найти класс, в котором больше всего девочек и больше всего мальчиков @@ -95,7 +96,7 @@ # Больше всего девочек в классе 2a school = [ - {'class': '2a', 'students': [{'first_name': 'Маша'}, {'first_name': 'Оля'}]}, + {'class': '2a', 'students': [{'first_name': 'Маша'}, {'first_name': 'Оля'}, {'first_name': 'Оля'}]}, {'class': '3c', 'students': [{'first_name': 'Олег'}, {'first_name': 'Миша'}]}, ] is_male = { @@ -104,8 +105,8 @@ 'Олег': True, 'Миша': True, } -for i in school: - if f"{len([j for j in i['students'] if j.get('first_name') in ['Олег', 'Миша']])}" > f"{len([j for j in i['students'] if j.get('first_name') in ['Маша', 'Оля', 'Даша']])}": - print(f"Больше всего мальчиков в классе {i['class']}") +for klass in school: + if [is_male[men_person['first_name']] for men_person in klass['students']].count(True) > [is_male[women_person['first_name']] for women_person in klass['students']].count(False): + print(f"Больше всего мальчиков в классе {klass['class']}") else: - print(f"Больше всего девочек в классе {i['class']}") \ No newline at end of file + print(f"Больше всего девочек в классе {klass['class']}") From e2f6375cf9d27293db34498054cd57ae80ab2e0c Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Fri, 19 May 2023 12:17:15 +0300 Subject: [PATCH 08/12] Done --- for_dict_challenges_bonus.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/for_dict_challenges_bonus.py b/for_dict_challenges_bonus.py index e9cdfa4a..7cf9d3b8 100644 --- a/for_dict_challenges_bonus.py +++ b/for_dict_challenges_bonus.py @@ -69,24 +69,22 @@ def generate_chat_history(): def zadacha(messages): from collections import Counter - ab = Counter(i['sent_by'] for i in messages).most_common(1) - print(f'Больше всего сообщений написал пользователь ID - {ab[0][0]}') # ответ на первый вопрос + sum_user = Counter(user['sent_by'] for user in messages).most_common(1) + print(f'Больше всего сообщений написал пользователь ID - {sum_user[0][0]}') # ответ на первый вопрос - ac = Counter(i['reply_for'] for i in messages).most_common(2) - print(f'Больше всего ответов - {ac[1][0]}') - for i in messages: - if i['id'] == ac[1][0]: - print(f"{i['sent_by']} айди пользователя, на сообщения которого больше всего отвечали") # ответ на второй вопрос - az = {} - for i in messages: - # print(i['id'], i['reply_for']) - # print(i['sent_by'], i['seen_by']) - if i['sent_by'] not in az: - az[i['sent_by']] = i['seen_by'] + sum_user = Counter(commentator['reply_for'] for commentator in messages).most_common(2) + print(f'Больше всего ответов - {sum_user[1][0]}') + for id in messages: + if id['id'] == sum_user[1][0]: + print(f"{id['sent_by']} айди пользователя, на сообщения которого больше всего отвечали") # ответ на второй вопрос + new_dict = {} + for message in messages: + if message['sent_by'] not in new_dict: + new_dict[message['sent_by']] = message['seen_by'] else: - az[i['sent_by']] = az[i['sent_by']] + i['seen_by'] - print(az) - for k, value in az.items(): + new_dict[message['sent_by']] = new_dict[message['sent_by']] + message['seen_by'] + print(new_dict) + for k, value in new_dict.items(): print(k, len(set(value))) # решение на 3 задачу From 1e9a453298bc7c804d13c569d0cdf1c98c1157e7 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Fri, 19 May 2023 12:24:51 +0300 Subject: [PATCH 09/12] Done --- string_challenges.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/string_challenges.py b/string_challenges.py index 7283ba74..824a15be 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -6,12 +6,13 @@ # Вывести количество букв "а" в слове word = 'Архангельск' -print(len([j for j in ''.join(word) if j.lower() == 'а'])) +print(word.lower().count('а')) # Вывести количество гласных букв в слове word = 'Архангельск' -print(len([j for j in ''.join(word) if j.lower() not in ['а', 'е', 'у', 'ы', 'о', 'э', 'я', 'и', 'ю']])) +vowels = ['а', 'е', 'у', 'ы', 'о', 'э', 'я', 'и', 'ю'] +print(len([letter for letter in word if letter.lower() not in vowels])) # Вывести количество слов в предложении @@ -21,13 +22,13 @@ # Вывести первую букву каждого слова на отдельной строке sentence = 'Мы приехали в гости' -for i in ''.join(sentence).split(): - print(i[0]) +for word in sentence.split(): + print(word[0]) # Вывести усреднённую длину слова в предложении sentence = 'Мы приехали в гости' -q = [] -for i in sentence.split(): - q.append(len(i)) -print(int(sum(q)/len(sentence.split()))) \ No newline at end of file +spisok = [] +for letter in sentence.split(): + spisok.append(len(letter)) +print(int(sum(spisok)/len(sentence.split()))) \ No newline at end of file From 70f736d8ad4bc3c810d210f59911ec53eca25a97 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Sat, 20 May 2023 12:39:23 +0300 Subject: [PATCH 10/12] Done --- for_challenges.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/for_challenges.py b/for_challenges.py index 8e478b28..4b95d302 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -28,7 +28,7 @@ } names = ['Оля', 'Петя', 'Вася', 'Маша'] for name in names: - if name == 'Петя' or name == 'Вася': + if is_male.get(name) == True: print(f'{name} пол мужской') else: print(f'{name} пол женский') @@ -47,10 +47,9 @@ ['Вася', 'Маша', 'Саша', 'Женя'], ['Оля', 'Петя', 'Гриша'], ] -counter_1 = 0 -for group in groups: - counter_1 += 1 - print(f'Группа {counter_1}: {len(group)} ученика') + +for group in enumerate(groups, start=1): + print(f'Группа {group[0]}: {len(group[1])} ученика') @@ -65,7 +64,6 @@ ['Оля', 'Петя', 'Гриша'], ['Вася', 'Маша', 'Саша', 'Женя'], ] -count_groups = 0 -for group in groups: - count_groups += 1 - print(f'Группа {count_groups}: {", ".join(group)}') \ No newline at end of file + +for group in enumerate(groups, start=1): + print(f'Группа {group[0]}: {", ".join(group[1])}') \ No newline at end of file From a7e291182b892a96115facd477b74be192edcb96 Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Sat, 20 May 2023 12:48:49 +0300 Subject: [PATCH 11/12] Done --- for_dict_challenges.py | 16 +++++++++++++--- for_dict_challenges_bonus.py | 11 ++++++----- string_challenges.py | 6 +++--- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/for_dict_challenges.py b/for_dict_challenges.py index dc9a7935..9098c674 100644 --- a/for_dict_challenges.py +++ b/for_dict_challenges.py @@ -84,10 +84,20 @@ 'Миша': True, 'Даша': False, } + + +def mens_count(): + return [is_male[men_person['first_name']] for men_person in klass['students']].count(True) + + +def womens_count(): + return [is_male[women_person['first_name']] for women_person in klass['students']].count(False) + + for klass in school: print( - f"Класс {klass['class']}: мальчики {[is_male[men_person['first_name']] for men_person in klass['students']].count(True)} " - f"девочки {[is_male[women_person['first_name']] for women_person in klass['students']].count(False)}") + f"Класс {klass['class']}: мальчики {mens_count()} " + f"девочки {womens_count()}") # Задание 5 # По информации о учениках разных классов нужно найти класс, в котором больше всего девочек и больше всего мальчиков @@ -106,7 +116,7 @@ 'Миша': True, } for klass in school: - if [is_male[men_person['first_name']] for men_person in klass['students']].count(True) > [is_male[women_person['first_name']] for women_person in klass['students']].count(False): + if mens_count() > womens_count(): print(f"Больше всего мальчиков в классе {klass['class']}") else: print(f"Больше всего девочек в классе {klass['class']}") diff --git a/for_dict_challenges_bonus.py b/for_dict_challenges_bonus.py index 7cf9d3b8..084934e9 100644 --- a/for_dict_challenges_bonus.py +++ b/for_dict_challenges_bonus.py @@ -70,22 +70,23 @@ def zadacha(messages): from collections import Counter sum_user = Counter(user['sent_by'] for user in messages).most_common(1) - print(f'Больше всего сообщений написал пользователь ID - {sum_user[0][0]}') # ответ на первый вопрос + print(f'Больше всего сообщений написал пользователь ID - {sum_user[0][0]}') sum_user = Counter(commentator['reply_for'] for commentator in messages).most_common(2) print(f'Больше всего ответов - {sum_user[1][0]}') for id in messages: if id['id'] == sum_user[1][0]: - print(f"{id['sent_by']} айди пользователя, на сообщения которого больше всего отвечали") # ответ на второй вопрос + print(f"{id['sent_by']} айди пользователя, на сообщения которого больше всего отвечали") + + new_dict = {} for message in messages: if message['sent_by'] not in new_dict: new_dict[message['sent_by']] = message['seen_by'] else: new_dict[message['sent_by']] = new_dict[message['sent_by']] + message['seen_by'] - print(new_dict) - for k, value in new_dict.items(): - print(k, len(set(value))) # решение на 3 задачу + for key_new_dict, value in new_dict.items(): + print(key_new_dict, len(set(value))) if __name__ == "__main__": diff --git a/string_challenges.py b/string_challenges.py index 824a15be..6ab5db14 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -28,7 +28,7 @@ # Вывести усреднённую длину слова в предложении sentence = 'Мы приехали в гости' -spisok = [] +words = [] for letter in sentence.split(): - spisok.append(len(letter)) -print(int(sum(spisok)/len(sentence.split()))) \ No newline at end of file + words.append(len(letter)) +print(int(sum(words)/len(sentence.split()))) \ No newline at end of file From e022ad43faa60adb291a51c76000352da656d2ea Mon Sep 17 00:00:00 2001 From: dimaMUshalapugin Date: Sat, 20 May 2023 13:53:02 +0300 Subject: [PATCH 12/12] Please do code review --- for_challenges.py | 2 ++ for_dict_challenges.py | 1 + for_dict_challenges_bonus.py | 1 + string_challenges.py | 5 +++++ 4 files changed, 9 insertions(+) diff --git a/for_challenges.py b/for_challenges.py index 4b95d302..078adc36 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -53,6 +53,8 @@ + + # Задание 5 # Для каждой пары учеников нужно с новой строки перечислить учеников, которые в неё входят # Пример вывода: diff --git a/for_dict_challenges.py b/for_dict_challenges.py index 9098c674..2969751b 100644 --- a/for_dict_challenges.py +++ b/for_dict_challenges.py @@ -12,6 +12,7 @@ {'first_name': 'Маша'}, {'first_name': 'Петя'}, ] + from collections import Counter list_students = [name['first_name'] for name in students] diff --git a/for_dict_challenges_bonus.py b/for_dict_challenges_bonus.py index 084934e9..62c565ee 100644 --- a/for_dict_challenges_bonus.py +++ b/for_dict_challenges_bonus.py @@ -89,6 +89,7 @@ def zadacha(messages): print(key_new_dict, len(set(value))) + if __name__ == "__main__": print(generate_chat_history()) zadacha(generate_chat_history()) diff --git a/string_challenges.py b/string_challenges.py index 6ab5db14..aa648b60 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -9,14 +9,19 @@ print(word.lower().count('а')) + + + # Вывести количество гласных букв в слове word = 'Архангельск' vowels = ['а', 'е', 'у', 'ы', 'о', 'э', 'я', 'и', 'ю'] print(len([letter for letter in word if letter.lower() not in vowels])) + # Вывести количество слов в предложении sentence = 'Мы приехали в гости' + print(len(sentence.split()))