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
11 changes: 11 additions & 0 deletions Урок 4. Практическое задание/task_1.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,14 @@
Для выполнения расчета для конкретных значений
необходимо запускать скрипт с параметрами.
"""

from sys import argv
(script_name, work_hours, hourly_rate, perm) = argv
def staf_pay():
print("Выработка в часах: ", work_hours)
print("Ставка в час: ", hourly_rate)
print("Премия: ", perm)
return int(work_hours) * int(hourly_rate) + int(work_hours) * int(hourly_rate) / 100 * int(perm)
print(staf_pay())


33 changes: 33 additions & 0 deletions Урок 4. Практическое задание/task_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,36 @@

Реализуйте вариант без и с генераторным выражением
"""
my_list = [300, 2, 12, 44, 1, 1, 4, 10, 7, 1, 78, 123, 55]

#варианты без генератора

#1-ый
new_list = []
i1 = 0
i2 = 1
while i2 < len(my_list):
if my_list[i1] < my_list[i2]:
new_list.append(my_list[i2])
i1, i2 = i1 + 1, i2 + 1
print(new_list)

#2-ой
new_list = []
a = 0
for el in my_list[1:]:
if el > my_list[a]:
new_list.append(el)
a += 1
print(new_list)

#3-й
new_list = []
for i in range(1, len(my_list)):
if my_list[i] > my_list[i - 1]:
new_list.append(my_list[i])
print(new_list)

#Вариант с генератором
new_list = [my_list[i] for i in range(1, len(my_list)) if my_list[i] > my_list[i - 1]]
print(new_list)
4 changes: 4 additions & 0 deletions Урок 4. Практическое задание/task_3.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@

"""
3. Для чисел в пределах от 20 до 240 найти числа, кратные 20 или 21.
Необходимо решить задание в одну строку.
Подсказка: использовать функцию range() и генераторное выражение.
"""

my_list = [el for el in range(20, 241) if (el % 20 == 0) or (el % 21 == 0)]
print(my_list)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
4. Представлен список чисел. Определить элементы списка, не имеющие повторений.
Сформировать итоговый массив чисел, соответствующих требованию.
Элементы вывести в порядке их следования в исходном списке.
Для выполнения задания обязательно использовать генераторное выржаение.
Для выполнения задания обязательно использовать генератор.
Пример исходного списка: [2, 2, 2, 7, 23, 1, 44, 44, 3, 2, 10, 7, 4, 11].
Результат: [23, 1, 3, 10, 4, 11]
"""

list1 = [2, 2, 2, 7, 23, 1, 44, 44, 3, 2, 10, 7, 4, 11]
list2 = [list1[el] for el in range(len(list1)) if (list1[el] not in list1[el + 1:]) and (list1[el] not in list1[el - 1::-1])]
print(list2)
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
"""
5. Реализовать формирование списка, используя функцию range()
и возможности генераторного выражения.
и возможности генератора.
В список должны войти четные числа от 100 до 1000 (включая границы).
Необходимо получить результат вычисления произведения всех элементов списка.
Подсказка: использовать лямбда-функцию и функцию reduce().
"""

from functools import reduce
my_list = [el for el in range(100, 1000 + 1) if el % 2 == 0]
result = reduce(lambda prev_el, el: prev_el * el, my_list)
print(result)

14 changes: 14 additions & 0 deletions Урок 4. Практическое задание/task_6.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,17 @@
Во втором также необходимо предусмотреть условие,
при котором повторение элементов списка будет прекращено.
"""

from itertools import cycle, count

for el in count(5):
if el > 21:
break
print(el)

my_iter = 0
for el in cycle("1234567890"):
if my_iter >=16:
break
print(el)
my_iter += 1
9 changes: 9 additions & 0 deletions Урок 4. Практическое задание/task_7.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,12 @@
Подсказка: факториал числа n — произведение чисел от 1 до n.
Например, факториал четырёх 4! = 1 * 2 * 3 * 4 = 24.
"""

def fact(n):
a = 1
for el in range(2, n + 1):
a = el * a
yield a

for el in fact(5):
print(el)