Skip to content
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
29 changes: 20 additions & 9 deletions for_challenges.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
# Необходимо вывести имена всех учеников из списка с новой строки

names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???

for i in names:
print(i)
print()

# Задание 2
# Необходимо вывести имена всех учеников из списка, рядом с именем показать количество букв в нём
Expand All @@ -12,8 +13,9 @@
# Петя: 4

names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???

for i in names:
print(f'{i}: {len(i)}')
print()

# Задание 3
# Необходимо вывести имена всех учеников из списка, рядом с именем вывести пол ученика
Expand All @@ -25,8 +27,9 @@
'Маша': False,
}
names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???

for i in names:
print(f'{i}: {is_male.get(i)}')
print()

# Задание 4
# Даны группу учеников. Нужно вывести количество групп и для каждой группы – количество учеников в ней
Expand All @@ -40,8 +43,10 @@
['Вася', 'Маша', 'Саша', 'Женя'],
['Оля', 'Петя', 'Гриша'],
]
# ???

print(f'Всего {len(groups)} группы.')
for index_number, group in enumerate(groups):
print(f'Группа {index_number + 1}: {len(group)} ученика')
print()

# Задание 5
# Для каждой пары учеников нужно с новой строки перечислить учеников, которые в неё входят
Expand All @@ -54,4 +59,10 @@
['Оля', 'Петя', 'Гриша'],
['Вася', 'Маша', 'Саша', 'Женя'],
]
# ???
for index_number, group in enumerate(groups):
print(f'Группа {index_number + 1}:',end=' ')
group_as_str = ', '.join(group)
print(group_as_str)



76 changes: 69 additions & 7 deletions for_dict_challenges.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,18 @@
{'first_name': 'Маша'},
{'first_name': 'Петя'},
]
# ???

names = dict()

for student in students:
if student['first_name'] not in names:
names[student['first_name']] = 1
else:
names[student['first_name']] += 1

for name, count in names.items():
print(f'{name}: {count}')
print()

# Задание 2
# Дан список учеников, нужно вывести самое часто повторящееся имя
Expand All @@ -26,8 +36,19 @@
{'first_name': 'Маша'},
{'first_name': 'Оля'},
]
# ???
names = dict()

for student in students:
if student['first_name'] not in names.keys():
names[student['first_name']] = 1
else:
names[student['first_name']] += 1

max_count=max(names.values())
for name, count in names.items():
if count == max_count:
print(name)
print()

# Задание 3
# Есть список учеников в нескольких классах, нужно вывести самое частое имя в каждом классе.
Expand All @@ -51,8 +72,20 @@
{'first_name': 'Саша'},
],
]
# ???
names = dict()

for students in school_students:
for student in students:
if student['first_name'] not in names.keys():
names[student['first_name']] = 1
else:
names[student['first_name']] += 1
max_count = max(names.values())
for name, count in names.items():
if count == max_count:
print(f'Самое частое имя в классе {school_students.index(students)+1}: {name}')
names.clear()
print()

# Задание 4
# Для каждого класса нужно вывести количество девочек и мальчиков в нём.
Expand All @@ -72,8 +105,17 @@
'Миша': True,
'Даша': False,
}
# ???

for school_class in school:
boys_count = 0
girl_count = 0
for students in school_class['students']:
for name in students.values():
if is_male[name]:
boys_count += 1
else:
girl_count += 1
print(f'Класс {school_class["class"]}: девочки {girl_count}, мальчики {boys_count}')
print()

# Задание 5
# По информации о учениках разных классов нужно найти класс, в котором больше всего девочек и больше всего мальчиков
Expand All @@ -91,5 +133,25 @@
'Олег': True,
'Миша': True,
}
# ???

class_school={}
for school_class in school:
class_school[school_class["class"]] = {"boys_count": 0, "girls_count": 0}
for students in school_class['students']:
for name in students.values():
if is_male[name]:
class_school[school_class["class"]]["boys_count"] += 1
else:
class_school[school_class["class"]]["girls_count"] += 1
clas_with_max_girl = ''
max_boys = 0
max_girls = 0
clas_with_max_boy = ''
for clas in class_school.keys():
if max_boys < class_school[clas]['boys_count']:
max_boys = class_school[clas]['boys_count']
clas_with_max_boy = clas
if max_girls < class_school[clas]['girls_count']:
max_girls = class_school[clas]['girls_count']
clas_with_max_girl = clas
print(f'Больше всего мальчиков в классе {clas_with_max_boy}')
print(f'Больше всего девочек в классе {clas_with_max_girl}')
34 changes: 24 additions & 10 deletions string_challenges.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,42 @@
# Вывести последнюю букву в слове
word = 'Архангельск'
# ???

print(word[-1])
print()

# Вывести количество букв "а" в слове
word = 'Архангельск'
# ???
print(word.lower().count('а'))
print()


# Вывести количество гласных букв в слове
word = 'Архангельск'
# ???

count = 0
vowels = set("айуеыоэяию")
for letter in word.lower():
if letter in vowels:
count += 1
print(f"Количество гласных букв: {count}")
print()

# Вывести количество слов в предложении
sentence = 'Мы приехали в гости'
# ???

words = sentence.split()
num_words = len(words)
print(num_words)
print()

# Вывести первую букву каждого слова на отдельной строке
sentence = 'Мы приехали в гости'
# ???

words = sentence.split()
for i in words:
print(i[0])
print()

# Вывести усреднённую длину слова в предложении
sentence = 'Мы приехали в гости'
# ???
words = sentence.split()
lenght=0
for i in words:
lenght+=len(i)
print(lenght/len(words))