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
12 changes: 12 additions & 0 deletions Лабораторная работа 3/task_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
def find_item_index(items, item):
if item in items:
return items.index(item)
Comment on lines +2 to +3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO

Тут получится сначала in пройдёт по элементам списка, а потом index. Можно сделать так, чтобы был один проход по элементам


items_list = ['яблоко', 'банан', 'апельсин', 'груша', 'киви', 'банан']

for find_item in ['банан', 'груша', 'персик']:
index_item = find_item_index(items_list, find_item)
if index_item is not None:
print(f"Первое вхождение товара '{find_item}' имеет индекс {index_item}.")
else:
print(f"Товар '{find_item}' не найден в списке.")
13 changes: 13 additions & 0 deletions Лабораторная работа 3/task_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
def find_common_participants(first_participants, second_participants, separator=","):
list_first_participants = first_participants.split(separator)
list_second_participants = second_participants.split(separator)

list_common_participants = list(set(list_first_participants).intersection(list_second_participants))
list_common_participants.sort()
return list_common_participants


participants_first_group = "Иванов|Петров|Сидоров"
participants_second_group = "Петров|Сидоров|Смирнов"

print('Cписок общих участников:', find_common_participants(participants_first_group, participants_second_group, "|"))
65 changes: 65 additions & 0 deletions Лабораторная работа 3/task_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
def count_letters(str_):
str_clear = "".join(str_.lower().split())
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO

Избавляться от пробелов в строке излишне. Метод isalpha отфильтрует их

letter_count = {}

for letter in str_clear:
if letter.isalpha():
if letter in letter_count:
letter_count[letter] += 1
else:
letter_count[letter] = 1

return letter_count


def calculate_frequency(letter_count):
letters_count = sum(letter_count.values())
letter_frequency = {}
for letter, value in letter_count.items():
letter_frequency[letter] = value / letters_count

return letter_frequency


main_str = """
У лукоморья дуб зелёный;
Златая цепь на дубе том:
И днём и ночью кот учёный
Всё ходит по цепи кругом;
Идёт направо — песнь заводит,
Налево — сказку говорит.
Там чудеса: там леший бродит,
Русалка на ветвях сидит;
Там на неведомых дорожках
Следы невиданных зверей;
Избушка там на курьих ножках
Стоит без окон, без дверей;
Там лес и дол видений полны;
Там о заре прихлынут волны
На брег песчаный и пустой,
И тридцать витязей прекрасных
Чредой из вод выходят ясных,
И с ними дядька их морской;
Там королевич мимоходом
Пленяет грозного царя;
Там в облаках перед народом
Через леса, через моря
Колдун несёт богатыря;
В темнице там царевна тужит,
А бурый волк ей верно служит;
Там ступа с Бабою Ягой
Идёт, бредёт сама собой,
Там царь Кащей над златом чахнет;
Там русский дух… там Русью пахнет!
И там я был, и мёд я пил;
У моря видел дуб зелёный;
Под ним сидел, и кот учёный
Свои мне сказки говорил.
"""

# TODO Распечатайте в столбик букву и её частоту в тексте
letters_count_dict = count_letters(main_str)
letters_frequency_dict = calculate_frequency(letters_count_dict)

for letter, freq in letters_frequency_dict.items():
print(f'{letter}: {freq:.2f}')