diff --git a/for_challenges.py b/for_challenges.py index 997754da..ba914ee9 100644 --- a/for_challenges.py +++ b/for_challenges.py @@ -2,7 +2,8 @@ # Необходимо вывести имена всех учеников из списка с новой строки names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? +for name in names: + print(f'{name}\n') # Задание 2 @@ -12,7 +13,11 @@ # Петя: 4 names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? +for name in names: + print(f'{name}: {len(name)}') + + + # Задание 3 @@ -25,7 +30,20 @@ 'Маша': False, } names = ['Оля', 'Петя', 'Вася', 'Маша'] -# ??? + + + +def gender_reveal(name): + if is_male[name] is False: + return 'Женский' + else: + return 'Мужской' + + +for name in names: + print(f'{name} : {gender_reveal(name)}') + + # Задание 4 @@ -40,7 +58,11 @@ ['Вася', 'Маша', 'Саша', 'Женя'], ['Оля', 'Петя', 'Гриша'], ] -# ??? + +for index, group in enumerate(groups, start=1): + print(f' Группа {index} : {len(group)} ученика') + +> # Задание 5 @@ -54,4 +76,7 @@ ['Оля', 'Петя', 'Гриша'], ['Вася', 'Маша', 'Саша', 'Женя'], ] -# ??? \ No newline at end of file +for index, group in enumerate(groups, start=1): + print(f' Группа {index} : {group}') + + diff --git a/for_dict_challenges.py b/for_dict_challenges.py index fd86d344..89e5441f 100644 --- a/for_dict_challenges.py +++ b/for_dict_challenges.py @@ -4,6 +4,8 @@ # Вася: 1 # Маша: 2 # Петя: 2 +from collections import Counter + students = [ {'first_name': 'Вася'}, @@ -12,21 +14,45 @@ {'first_name': 'Маша'}, {'first_name': 'Петя'}, ] -# ??? + +list_names = list() +for dicts in students: + new_name = (dicts['first_name']) + list_names.append(new_name) + +for li in set(list_names): + list_count = list_names.count(li) + print(f'{li}:{list_count}') # Задание 2 # Дан список учеников, нужно вывести самое часто повторящееся имя # Пример вывода: # Самое частое имя среди учеников: Маша -students = [ +students_2 = [ {'first_name': 'Вася'}, {'first_name': 'Петя'}, {'first_name': 'Маша'}, {'first_name': 'Маша'}, {'first_name': 'Оля'}, ] -# ??? + + +list_names = list() +for dicts in students_2: + new_name = dicts['first_name'] + list_names.append(new_name) +count = Counter(list_names) +count_final = dict(count) +max_val = max(count_final.values()) +#final_dict = {k: v for k, v in count_final.items() if v == max_val} +#print("Самое частое имя среди учеников:") +#print(*final_dict) +print("Самое частое имя среди учеников:") +for name, counter in count_final.items(): + if counter == max_val: + print(name) + # Задание 3 @@ -53,9 +79,25 @@ ] # ??? +for index, lists in enumerate(school_students, start=1): + list_names = list() + for dicts in lists: + new_name = dicts['first_name'] + list_names.append(new_name) + count_st = Counter(list_names) + count_final = dict(count_st) + max_val = max(count_final.values()) + for name, counter in count_final.items(): + if counter == max_val: + print(f'Самое частое имя в классе {index}') + print(name) + + + + + -# Задание 4 -# Для каждого класса нужно вывести количество девочек и мальчиков в нём. +#Задание 4. Для каждого класса нужно вывести количество девочек и мальчиков в нём. # Пример вывода: # Класс 2a: девочки 2, мальчики 0 # Класс 2б: девочки 0, мальчики 2 @@ -72,9 +114,21 @@ 'Миша': True, 'Даша': False, } -# ??? - +for lists in school: + count_boys = 0 + count_girls = 0 + for dict in lists["students"]: + name = dict['first_name'] + + if is_male[name] is True: + count_boys += 1 + else: + count_girls += 1 + + print(f''' В классе {lists["class"]} мальчики {count_boys}, + девочки {count_girls} ''') + # Задание 5 # По информации о учениках разных классов нужно найти класс, в котором больше всего девочек и больше всего мальчиков # Пример вывода: @@ -91,5 +145,69 @@ 'Олег': True, 'Миша': True, } -# ??? + +final_dict ={} +for lists in school: + print(lists) + count_boys = 0 + count_girls = 0 + + + for dict in lists["students"]: + print(dict) + name = dict['first_name'] + print(name) + + if is_male[name]: + count_boys += 1 + else: + count_girls += 1 + final_dict[lists["class"]] = (count_boys, count_girls) + + print(count_girls) + print(count_boys) + + +print(final_dict) +items = final_dict.items() +print(items) +class_name_boys, class_data_boys = max(items, key=lambda item: item[1][0]) +class_name_girls, class_data_girls = max(items, key=lambda item: item[1][1]) +print(f'Больше всего мальчиков в классе {class_name_boys}') +print(f'Больше всего девочек в классе {class_name_girls}') + + + + + + + + + + + + + + + + #if (count_boys + number) > (count_girls+number): + #print(f"в классе {class_name} больше мальчиков") + #elif (count_boys + number) == (count_girls+number): + #print(f"в классе {class_name} одинаково мальчиков и девочек") + #else: + #print(f"в классе {class_name} больше девочек") + + #for lists_ in final_list: + # number_1 = lists_1[class_name] + #print(number_1) + + #print(f'''Больше всего девочек{(max_val_girls)} + #в классе: {class_name}, + #Больше всего мальчиков {max(count_boys)} + #в классе{class_name}''') + + + + + diff --git a/string_challenges.py b/string_challenges.py index 856add2d..e84d5376 100644 --- a/string_challenges.py +++ b/string_challenges.py @@ -1,28 +1,51 @@ # Вывести последнюю букву в слове word = 'Архангельск' -# ??? +print(word[-1]) + # Вывести количество букв "а" в слове word = 'Архангельск' -# ??? +w = word.lower() +print(w.count("а")) +print("---") # Вывести количество гласных букв в слове -word = 'Архангельск' -# ??? +words = 'Архангельск' +vowels = ["а","у","о","и", "э", "ы", "я", "ю", "е","ё"] +count = 0 +for vowel in words: + if vowel.lower() in vowels: + count+=1 +print(count) +print("---") + # Вывести количество слов в предложении sentence = 'Мы приехали в гости' -# ??? +s = sentence.split(' ') +print(len(s)) +print("---") # Вывести первую букву каждого слова на отдельной строке sentence = 'Мы приехали в гости' # ??? +s= sentence.split(' ') +print(s) +for word in s: + print(word[0]) + + # Вывести усреднённую длину слова в предложении sentence = 'Мы приехали в гости' -# ??? \ No newline at end of file +s= sentence.split(' ') +length_count = 0 +for word in s: + count = len(word) + length_count = length_count + count +print(length_count/len(s)) \ No newline at end of file