Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a846e34
Add homework1.py
Elvirience Oct 10, 2021
f500be7
made some changes
Elvirience Oct 10, 2021
041fe50
full complect
Elvirience Oct 10, 2021
5f5676f
new homework
Elvirience Oct 23, 2021
85714cb
Delete .gitignore
Elvirience Oct 23, 2021
92c43d0
Delete GU_BigData_1795.iml
Elvirience Oct 23, 2021
db745c2
Delete misc.xml
Elvirience Oct 23, 2021
dca6fdd
Delete vcs.xml
Elvirience Oct 23, 2021
714e1fe
Delete homework1.py
Elvirience Oct 23, 2021
3cbe562
Delete modules.xml
Elvirience Oct 23, 2021
2df76dc
Delete profiles_settings.xml
Elvirience Oct 23, 2021
722346d
update
Elvirience Oct 23, 2021
4d6d50c
update
Elvirience Oct 23, 2021
0a469ee
updates
Elvirience Oct 24, 2021
febc091
black
Elvirience Oct 24, 2021
93792b8
Delete BigData.iml
Elvirience Oct 24, 2021
294d75c
Delete misc.xml
Elvirience Oct 24, 2021
af3fbfb
Delete workspace.xml
Elvirience Oct 24, 2021
70ea3c5
Delete homework1.iml
Elvirience Oct 24, 2021
926cc29
Delete modules.xml
Elvirience Oct 24, 2021
5877f02
Delete profiles_settings.xml
Elvirience Oct 24, 2021
b94e24f
Delete workspace.xml
Elvirience Oct 24, 2021
c0706d0
Delete homework1.py
Elvirience Oct 24, 2021
4c0336d
Delete .gitignore
Elvirience Oct 24, 2021
a336d1e
Delete homework2.iml
Elvirience Oct 24, 2021
9b3ed7e
Delete profiles_settings.xml
Elvirience Oct 24, 2021
f7149bb
Delete homework2.py
Elvirience Oct 24, 2021
b3abcde
Delete .gitignore
Elvirience Oct 24, 2021
71b508c
Delete profiles_settings.xml
Elvirience Oct 24, 2021
9df5e40
Delete modules.xml
Elvirience Oct 24, 2021
15f43e6
Delete homework3.py
Elvirience Oct 24, 2021
e22a203
Delete homework4.py
Elvirience Oct 24, 2021
d55cb5d
Delete modules.xml
Elvirience Oct 24, 2021
80a517d
Delete misc.xml
Elvirience Oct 24, 2021
9c54db2
Delete profiles_settings.xml
Elvirience Oct 24, 2021
f083422
Delete misc.xml
Elvirience Oct 24, 2021
372dab8
Delete workspace.xml
Elvirience Oct 24, 2021
c512179
Delete .gitignore
Elvirience Oct 24, 2021
9cbf8fa
Delete misc.xml
Elvirience Oct 24, 2021
e638817
Delete modules.xml
Elvirience Oct 24, 2021
4646989
Delete misc.xml
Elvirience Oct 24, 2021
d7e6489
Delete BigData.iml
Elvirience Oct 24, 2021
c1768ec
Delete BigData.iml
Elvirience Oct 24, 2021
498fd94
Delete modules.xml
Elvirience Oct 24, 2021
bb9684f
Delete vcs.xml
Elvirience Oct 24, 2021
2f88c09
Update homework4.py
Elvirience Oct 24, 2021
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
1 change: 0 additions & 1 deletion README.md

This file was deleted.

124 changes: 124 additions & 0 deletions lesson4/homework4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
from functools import reduce
from itertools import count, cycle
from sys import argv
from random import randrange


"""
Выполнил: Агеев Георгий BigData 1795
"""
"""
Индекс в названии функции соответствует номеру задания
"""
"""
Для демонстрации работы функций следуйте инструкции после запуска программы
"""
"""
Для 6-го задания предусмотрены варианты ввода: 6.1, 6.2
"""


"""
Номер 1
"""
name, hours, money_in_hour, prize = argv
salary = int(money_in_hour) * int(hours) + int(prize)
print(salary)


def num2(i=0):
new_list = []
len_list = randrange(20)
my_gen = [randrange(20) for i in range(len_list)]
print(my_gen)
try:
while i != (len_list - 1):
if my_gen[i] < my_gen[i + 1]:
new_list.append(my_gen[i + 1])
i += 1
except IndexError:
print(new_list)
else:
print(new_list)


def num3():
gen = (i for i in range(20, 241) if i % 20 == 0 or i % 21 == 0)
return gen


def num4():
len_gen = randrange(20)
gen = [randrange(20) for i in range(len_gen)]
print(gen)
new_gen = [el for el in gen if gen.count(el) == 1]
return new_gen


def num5():
gen = [i for i in range(100, 1001) if i%2 == 0]
print(gen)
return reduce(lambda a, b: a * b, gen)


def num6_1(a, b, c):
for i in count(a, b):
if i >= c:
break
yield i


def num6_2(my_list, steps, counter=0):
for i in cycle(my_list):
"""
steps*len(my_list) - число шагов в одном обороте "cycle()"
"""
if counter >= steps*len(my_list):
break
yield i
counter += 1


def num7(n, a=1):
for i in range(1, n+1):
a *= i
yield a


"""
main():
"""
q = ' '
while q != '':
q = input('Введите номер задания или нажмите ENTER: ')
if q == '1':
print(f'Заработная плата: {salary}')
elif q == '2':
num2()
elif q == '3':
for el in num3():
print(el)
elif q == '4':
print(num4())
elif q == '5':
print(num5())
elif q == '6.1':
a = int(input('Стартовое число: '))
b = int(input('Шаг: '))
c = int(input('Предел: '))
for el in num6_1(a, b, c):
print(el)
elif q == '6.2':
my_list = []
el = input('Введите элемент списка или ENTER: ')
while el != '':
my_list.append(el)
el = input('Введите элемент списка или ENTER: ')
print('Оборот - полное прохождение "cycle()" по аргументу-списку')
steps = int(input('Введите число оборотов "cycle()": '))
for el in num6_2(my_list, steps, 0):
print(el)
elif q == '7':
n = int(input('Найти фаториал числа: '))
for el in num7(n):
print(el)