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
28 changes: 21 additions & 7 deletions for_challenges.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# Задание 1
# Необходимо вывести имена всех учеников из списка с новой строки

names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???
print(names[0])
print(names[1])
print(names[2])
print(names[3])

names = ['Оля', 'Петя', 'Вася', 'Маша']
for name in names:
print(name)

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

names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???
for i in names:
print(f'{i}: {len(i)}')





# Задание 3
Expand All @@ -25,7 +34,8 @@
'Маша': False,
}
names = ['Оля', 'Петя', 'Вася', 'Маша']
# ???
for i in is_male:
print(f'{i}: {is_male[i]}')


# Задание 4
Expand All @@ -40,8 +50,9 @@
['Вася', 'Маша', 'Саша', 'Женя'],
['Оля', 'Петя', 'Гриша'],
]
# ???

for index, name in enumerate(groups, start=1):
print(f'Группа {index}: {len(name)} ученика')
"""""

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


83 changes: 73 additions & 10 deletions for_dict_challenges.py
Original file line number Diff line number Diff line change
@@ -1,35 +1,51 @@
from collections import Counter
# Задание 1
# Дан список учеников, нужно посчитать количество повторений каждого имени ученика
# Пример вывода:
# Вася: 1
# Маша: 2
# Петя: 2

'''''
students = [
{'first_name': 'Вася'},
{'first_name': 'Петя'},
{'first_name': 'Маша'},
{'first_name': 'Маша'},
{'first_name': 'Петя'},
]
# ???

dict_name = {}
for i in students:
name = i['first_name']
if name in dict_name:
dict_name[name] += 1
else:
dict_name[name] = 1
for name in dict_name:
print(f'{name}: {dict_name[name]}')

# Задание 2
# Дан список учеников, нужно вывести самое часто повторящееся имя
# Пример вывода:
# Самое частое имя среди учеников: Маша
'''''
students = [
{'first_name': 'Вася'},
{'first_name': 'Петя'},
{'first_name': 'Маша'},
{'first_name': 'Маша'},
{'first_name': 'Оля'},
]
# ???

famous_name = ()
famous_name_count = 0
i = [name['first_name'] for name in students]
for name in i:
if i.count(name) > famous_name_count:
famous_name_count = i.count(name)
famous_name = name
print(f'Самое частое имя среди учеников: {famous_name}')

# Задание 3
'''''
# Задание 3
# Есть список учеников в нескольких классах, нужно вывести самое частое имя в каждом классе.
# Пример вывода:
# Самое частое имя в классе 1: Вася
Expand All @@ -51,7 +67,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,7 +101,16 @@
'Миша': True,
'Даша': False,
}
# ???
for school_class in school:
girls_count = 0
boys_count = 0
for students in school_class['students']:
for name in students.values():
if is_male[name]:
boys_count += 1
else:
girls_count += 1
print(f"Класс {school_class['class']}: девочки {girls_count}, мальчики {boys_count}")


# Задание 5
Expand All @@ -91,5 +129,30 @@
'Олег': True,
'Миша': True,
}
# ???

girls = 0
boys = 0
class_school = ''
result_boys = {}
result_girls = {}
for i in school:
for j in i['students']:
class_school = i['class']
if j['first_name'] in is_male:
if is_male[j['first_name']] == True:
boys += 1
else:
girls += 1
result_boys[class_school]= boys
result_girls[class_school] = girls
for q in result_boys:
pass
for w in result_girls:
pass
if result_girls[w] > result_boys[q]:
print(f"Больше всего девочек в классе {w}")
else:
print(f"Больше всего мальчиков в классе {q}")
girls = 0
boys = 0

'''''
28 changes: 18 additions & 10 deletions string_challenges.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,36 @@
# Вывести последнюю букву в слове
word = 'Архангельск'
# ???

print(word[-1])

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

print(word.count('а'))

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

wovels = 'а у о ы э я ю ё и е'
count = 0
for i in word:
if i.lower() in wovels:
count += 1
print(count)
print()

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


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

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

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