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
5 changes: 4 additions & 1 deletion lesson01/home_work/hw01_hard.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Федькин Илья Геннадьевич'

# Задание-1:
# Ваня набрал несколько операций в интерпретаторе и получал результаты:
Expand All @@ -14,3 +14,6 @@
# если точно известно, что её значение не изменялось?

# Подсказка: это значение точно есть ;)

a = float('inf')

36 changes: 34 additions & 2 deletions lesson01/home_work/hw01_normal.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Федькин Илья Геннадьевич'

# Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа.
# Например, дается x = 58375.
Expand All @@ -25,3 +24,36 @@
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4

import math

# Задача-1

a = input('Введите целое число: ')
max = 0
for i in a:
if (int(i)) > max:
max = int(i)
print(max)

# Задача-2
a = input('Введите первую переменную: ')
b = input('Введите вторую переменную: ')
a, b = b, a
print('Первая переменная = {0}, Вторая переменная = {1}'.format(a, b))

# Задача-3
print('Дано квадратное уравнение:\n ax**2 + bx + c')
a = float(input('Введите a: '))
b = float(input('Введите b: '))
c = float(input('Введите c: '))
Dis = b**2 - 4*a*c
if Dis > 0:
x1 = (-b + math.sqrt(Dis)) / a*2
x2 = (-b - math.sqrt(Dis)) / a*2
print('Корни уравнения:\n', 'x1 = ', x1, '\n x2 = ', x2)
elif Dis == 0:
x1 = (-b + math.sqrt(Dis)) / a*2
print('Корень уравнения один: ', x1)
else:
print('Нет корней')
135 changes: 134 additions & 1 deletion lesson02/home_work/hw02_hard.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,137 @@
# Выход: 6 2
#
# Вход: 11
# Выход: 5 3
# Выход: 5 3

#1

equation = 'y = -12x + 11111140.2121'
x = 2.5
b = 1

equation = equation.split(' ')
print(equation)

for num in equation:
if num == 'y':
continue
elif num == '=':
continue
elif num == '+':
operation = True
continue
elif num == "-":
operation = False
continue
elif num.find('x') >= 0:
k = num.split('x')
k = k[0]
k = float(k)
else:
b = num
b = float(b)


if operation:
function = k*x + b
print('{} = {} * {} + {}'.format(function, k, x, b))
else:
function = k*x - b
print('{} = {} * {} - {}'.format(function, k, x, b))



#2

date = '01.11.1985'

month_max_len = 0
month_name = ''
error = 0
error_d = 0
error_y = 0

months = [['01','Январь',31],['02','Февраль',28],['03','Март',31],['04','Апрель',30],['05','Май',31],['06','Июнь',30],['07','Июль',31],['08','Август',31],['09','Сентябрь',30],['10','Октябрь',31],['11','Ноябрь',30],['12','Декабрь',31]]

date = date.split('.')

for month in months:
if month[0] == date[1]:
A = True
month_max_len = month[2]
month_name = month[1]
break
else:
error = error +1
if error == 12:
print('Ошибка ввода месяца')

if int(date[0]) < 1 | int(date[0]) > month_max_len | len(date[0]) != 2:
print('Ошибка ввода дня')
error_d = 1
elif int(date[2]) < 1 | int(date[2]) > 9999 | len(date[2]) != 4:
print('Ошибка ввода года')
error_y = 1
elif (error != 12) | (error_y != 1) | (error_d != 1):
print('GOOD')


#3

import math

max_flat = 2 * 10 ** 9

N_Y = True
data = []
start_floor_of_cell = 1
sum_flats = 0
cell = 1
position = 0
remains = 0
floor = 0
max_flat_in_cell = 0
count = 2

while sum_flats <= max_flat:
sum_flats = sum_flats + cell ** 2
start_floor_of_cell = start_floor_of_cell + cell - 1
data[len(data):] = [cell, start_floor_of_cell, sum_flats]
cell = cell + 1

while N_Y:
number = int(input('Введите номер квартиры от 1 до 2*10^9 : '))

while ((number <= 1) | (number >= 2 * 10 ** 9)):
print('Ошибка')
number = int(input('Введите номер квартиры от 1 до 2*10^9 : '))

while number > max_flat_in_cell:
max_flat_in_cell = data[count]
count = count + 3

cell_of_number = data[count - 5]
start_floor_of_number = data[count - 4]

floor = start_floor_of_number + (cell_of_number - 1 - ((max_flat_in_cell - number) // cell_of_number))
remains = ((max_flat_in_cell - number) % cell_of_number)

if remains > 0:
position = cell_of_number - remains

else:
position = cell_of_number

print('На {} этаже {} по счету слева'.format(floor, position))
while True:
answer = input('Повторим N \ Y ? : ')
if (answer == 'N') | (answer == 'n'):
N_Y = False
break
elif (answer == 'y') | (answer == 'Y'):
N_Y = True
break
else:
print('Ошибка')


Loading