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
30 changes: 30 additions & 0 deletions DZ6/task_6.1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#### 6.1[30]: Напишите программу, генерирующую элементы арифметической прогрессии
# Программа принимает от пользователя три числа :
# - Первый элемент прогрессии, Разность (шаг) и Количество элементов
# Формула для получения n-го члена прогрессии: an = a1 + (n-1) * d.
# Напишите функцию
# - Аргументы: три указанных параметра
# - Возвращает: список элементов арифмитической прогрессии.

a1, d, n = [int(el) for el in input("Введите a1, d, n: ").split()]

def arithmetic_progression(start, step, quantity):
return[start+step*idx for idx in range(quantity)]

print(arithmetic_progression(a1, d, n))

# ```(*)``` **Усложнение.** Для формирования списка внутри функции используйте Comprehension

new_lst=[a1 + d * i for i in range(n)]
print(new_lst)

# ```(**)``` **Усложнение.** Присвоение значений переменным a1,d,n запишите, используя только один input,
# в одну строку, вам понадобится распаковка и Comprehension или map

my_lst=int(input("Введите a1, d, n: "))
type(my_lst)
var=[*my_lst]
new_lst=[var[1] + var[2] * i for i in range(var[3])]
print(my_lst)


16 changes: 16 additions & 0 deletions DZ6/task_6.2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#### 6.2[32]: Определить индексы элементов массива (списка), значения которых принадлежат заданному диапазону
# (т.е. не меньше заданного минимума и не больше заданного максимума)

# Напишите функцию
# - Аргументы: список чисел и границы диапазона
# - Возвращает: список индексов элементов (смотри условие)

def check_indexes(lst, min_bound, max_bound):
return [(idx, el) for idx, el in enumerate(lst) if min_bound <= el <= max_bound]


lst1 = [-5, 9, 0, 3, -1, -2, 1, 4, -2, 10, 2, 0, -9, 8, 10, -9, 0, -5, -5, 7]

print(check_indexes(lst1, 2, 10))
print(check_indexes(lst1, 2, 9))
print(check_indexes(lst1, 0, 6))
30 changes: 30 additions & 0 deletions DZ7/task_6.3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#### 6.2[32]: Напишите функцию ```print_operation_table(operation, num_rows=6, num_columns=6)```,
# которая принимает в качестве аргумента функцию, вычисляющую элемент по номеру строки и столбца,
# т.е. функцию двух аргументов. Аргументы ```num_rows``` и ```num_columns``` указывают число
# строк и столбцов таблицы, которые должны быть распечатаны. Нумерация строк и столбцов идет с единицы.

# Примеры/Тесты:
# print_operation_table(lambda x,y: x**y,4,4)
# 1 1 1 1
# 2 4 8 16
# 3 9 27 81
# 4 16 64 256

# print_operation_table(lambda x,y: x*y)
# 1 2 3 4 5 6
# 2 4 6 8 10 12
# 3 6 9 12 15 18
# 4 8 12 16 20 24
# 5 10 15 20 25 30
# 6 12 18 24 30 36

def print_operation_table(operation, num_rows=6, num_columns=6):
for row in range(1, num_rows+1):
r=""
for col in range(1, num_columns+1):
value=operation(row, col)
r+="\t"
r+=str(value)
print (r)

print_operation_table(lambda x,y: x*y)
43 changes: 43 additions & 0 deletions DZ7/task_7.1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#### 7.1[34]: Винни-Пух попросил Вас посмотреть, есть ли в его стихах ритм. Поскольку разобраться
# в его кричалках не настолько просто, насколько легко он их придумывает, Вам стоит написать программу.
# Винни-Пух считает, что ритм есть, если число слогов (т.е. число гласных букв) в каждой фразе стихотворения
# одинаковое.
# Фраза может состоять из одного слова, если во фразе несколько слов, то они разделяются дефисами.
# Фразы отделяются друг от друга пробелами.

#Написать функцию, которая принимает строку текста и проверяет ее ритм (по Винни-Пуху)
# Если ритм есть, функция возвращает True, иначе возвращает False

# Примеры/Тесты:
# <function_name>("пара-ра-рам рам-пам-папам па-ра-па-дам") -> True
# <function_name>("пара-ра-рам рам-пум-пупам па-ре-по-дам") -> True
# <function_name>("пара-ра-рам рам-пуум-пупам па-ре-по-дам") -> False
# <function_name>("Трам-пара-папам-парам-па-пам-пам-па Пум-пурум-пу-пурум-трам-пам-па") -> False
# <function_name>("Пам-парам-пурум Пум-пурум-карам") -> True

# **Примечание.**

# - Подумайте об эффективности алгоритма. Какие структуры данных будут более эффективны по скорости.
# - Алгоритм должен работать так, чтобы не делать лишних проверок. Подумайте, возможно некоторые проверки
# не нужны.


def win_and_pooh(song):
volwes = {'а', 'о', 'э', 'е', 'и', 'ы', 'у', 'ё', 'ю', 'я'}
z = ' '
super_counter=-1
counter=0
for id in song:
if id in volwes:
counter+=1
elif id == z:
if super_counter==-1:
super_counter=counter
counter=0
elif super_counter==counter:
counter=0
else:
return False
return True

print(win_and_pooh("пара-ра-рам"))
6 changes: 6 additions & 0 deletions DZ8/data08_1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Иванов#Иван#+7(xxx)xxx-xx-xx#desription_Иванов
Петров#Петр#+7(---)xxx-xx-xx#desription_Петров
Соколов#Илья#+7(---)---------#desription_Соколов
Павельев#Андрей#+7(***)***-**-**#desription_Павельев
Пешехов#Антон#+7++++++++++#desription_Пешехов
Сааков#Илья#+7(+++)+++-++-++#desription_Сааков