diff --git a/iterator1.py b/iterator1.py new file mode 100644 index 0000000..3b2532f --- /dev/null +++ b/iterator1.py @@ -0,0 +1,12 @@ +# 6.a итератор, генерирующий целые числа, начиная с указанного +from sys import argv +import itertools as itr + +start = int(argv[1]) + +for el in itr.count(start): + if el > 1000: + print('стоп машина!') + break + else: + print(el) diff --git a/iterator2.py b/iterator2.py new file mode 100644 index 0000000..4b01114 --- /dev/null +++ b/iterator2.py @@ -0,0 +1,12 @@ +# 6.b итератор, повторяющий элементы некоторого списка, определенного заранее +import itertools as itr + +my_list = [2, 65, 3, 5, 8, 14, 28, 38, 53, 46, 31, 2, 4] + +с = 0 +for el in itr.cycle(my_list): + if с > 100: + print('Стоп машина!') + break + print(el) + с += 1 diff --git a/salary.py b/salary.py new file mode 100644 index 0000000..69a75dd --- /dev/null +++ b/salary.py @@ -0,0 +1,6 @@ +# task 1 +from sys import argv +script_name, production, rate, prize = argv + +salary = int(production) * int(rate) + int(prize) +print(salary) diff --git a/task2.py b/task2.py new file mode 100644 index 0000000..4fcfbb0 --- /dev/null +++ b/task2.py @@ -0,0 +1,4 @@ +my_list = [2, 65, 3, 5, 8, 14, 28, 38, 53, 46, 31, 2, 4] +print('имходный список:', my_list) +new_list = [el for i, el in enumerate(my_list) if my_list[i] > my_list[i-1]] +print('Сгенерированный список:', new_list) diff --git a/task3.py b/task3.py new file mode 100644 index 0000000..3fb541f --- /dev/null +++ b/task3.py @@ -0,0 +1 @@ +print([el for el in range(20, 241) if el % 20 == 0 or el % 21 == 0]) diff --git a/task4.py b/task4.py new file mode 100644 index 0000000..accc7ea --- /dev/null +++ b/task4.py @@ -0,0 +1,3 @@ +my_list = [2, 2, 2, 7, 23, 1, 44, 44, 3, 2, 10, 7, 4, 11] +new_list = [el for i, el in enumerate(my_list) if my_list.count(el) == 1] +print(new_list) diff --git a/task5.py b/task5.py new file mode 100644 index 0000000..49360de --- /dev/null +++ b/task5.py @@ -0,0 +1,5 @@ +from functools import reduce + +new_list = [el for el in range(100, 1001) if el % 2 == 0] +result = reduce((lambda x, y: x * y), new_list) +print(result) diff --git a/task7.py b/task7.py new file mode 100644 index 0000000..3a8d939 --- /dev/null +++ b/task7.py @@ -0,0 +1,8 @@ +def fact(n): + result = 1 + for i in range(1, n + 1): + result *= i + yield result + +for el in fact(5): + print(el) \ No newline at end of file