Skip to content
Open
33 changes: 31 additions & 2 deletions lesson01/home_work/hw01_easy.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@

__author__ = 'Ваши Ф.И.О.'
#__author__ = Стрельченко Никита Владимирович

# Задача-1: Дано произвольное целое число (число заранее неизвестно).
# Вывести поочередно цифры исходного числа (порядок вывода цифр неважен).
# Подсказки:
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании решите задачу с применением цикла for.

# код пишем тут...
number = input('Введите число: ')
x = 0
while x < len(number):
print(number[x])
x += 1




# Задача-2: Исходные значения двух переменных запросить у пользователя.
Expand All @@ -18,7 +24,30 @@
# Не нужно решать задачу так:
# print("a = ", b, "b = ", a) - это неправильное решение!

# 2 ЗАДАЧА !!!!

#Вариант 1
x = int(input("Введите переменную x:"))
y = int(input("Введите переменную у:"))
x,y = y,x
print ("Значение переменной x =", x, "Значение переменной Y =", y)

#Вариант 2
X = int(input("Введите X:"))
Y = int(input("Введите Y:"))
Z = X
X = Y
Y = Z
print("Переменная Х = ", X,"Переменная Y =", Y)


# Задача-3: Запросите у пользователя его возраст.
# Если ему есть 18 лет, выведите: "Доступ разрешен",
# иначе "Извините, пользование данным ресурсом только с 18 лет"

# 3 ЗАДАЧА!!!!!
age = int(input("Введите Ваш возраст:"))
if age >= 18:
print ("Доступ разрешен");
else:
print("Извините, пользование данным ресурсом только с 18 лет")
36 changes: 34 additions & 2 deletions lesson01/home_work/hw01_normal.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

__author__ = 'Ваши Ф.И.О.'
#__author__ = Стрельченко Никита Владимирович

# Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа.
# Задача-1: .
# Например, дается x = 58375.
# Нужно вывести максимальную цифру в данном числе, т.е. 8.
# Подразумевается, что мы не знаем это число заранее.
Expand All @@ -10,6 +10,14 @@
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании и понимании решите задачу с применением цикла for.

x = int(input("Введите число"))
mx = 0
while x>0:
c = x%10
if c>=mx: mx=c
x//=10
print ("Максимальная цифра: ",mx)


# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
Expand All @@ -18,10 +26,34 @@
# * постарайтесь сделать решение через действия над числами;
# * при желании и понимании воспользуйтесь синтаксисом кортежей Python.

x = int(input("Переменная 1 -"))
y = int(input("Переменная 2 -"))
x,y = y,x
print ("Значение переменной 1 -",x,"Значение переменной 2 -",y)

# Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида
# ax² + bx + c = 0.
# Коэффициенты уравнения вводятся пользователем.
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4

import math
a = int(input("Введите значение'а': "))
b = int(input("Введите значение'b': "))
c = int(input("Введите значение'c': "))
D = b ** 2 - 4 * a * c
print(D)
if D <0:
print("Нет корней")
elif D == 0:
x = -b/2*a
print (x)
else:
x1 = (-b + math.sqrt(D))/(2*a)
x2 = (-b - math.sqrt(D))/(2*a)
print(x1)
print(x2)



23 changes: 22 additions & 1 deletion lesson02/home_work/hw02_easy.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
# Напишите программу, выводящую фрукты в виде нумерованного списка,
# выровненного по правой стороне.

fruits = ["banana", "mango", "apple", "kiwi", "orange","dragonfruit"]
y = 1
for x in range (len(fruits)):
print("{:>100}{} {}".format("№-", y, fruits[x]))
y+=1

# Пример:
# Дано: ["яблоко", "банан", "киви", "арбуз"]
# Вывод:
Expand All @@ -13,13 +19,28 @@

# Подсказка: воспользоваться методом .format()


# Задача-2:
# Даны два произвольные списка.
# Удалите из первого списка элементы, присутствующие во втором списке.

list_1 = [1, 2, 'apple', 'house', 'orange',55]
list_2 = [3, 2, 55, 'kiwi', 'bridge', 'road']
list_1 = list(set(list_1) - set(list_2))
print(list_1)

# Задача-3:
# Дан произвольный список из целых чисел.
# Получите НОВЫЙ список из элементов исходного, выполнив следующие условия:
# если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два.

lst_1 = [1,2,55,60,4,31]
lst_2 = []
x = len(lst_1)
for i in range(x):
if lst_1[i]%2==0:
lst_2.append(lst_1[i]/4)
else:
lst_2.append(lst_1[i]*2)
print (lst_2)


8 changes: 8 additions & 0 deletions lesson02/home_work/hw02_hard.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@

equation = 'y = -12x + 11111140.2121'
x = 2.5
#y = (-12*x) + 11111140.2121
#print(y)

name = equation.split(' ')
first_name = str(name[2])
name[2] = first_name[:-1]
two_name = float(name[2]) * x + float(name[4])
print(two_name)
# вычислите и выведите y


Expand Down
44 changes: 44 additions & 0 deletions lesson02/home_work/hw02_normal.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,65 @@
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]

#from math import sqrt
#list = [1, 10, -3, 11, -15, 36, 189, 152, -166, 16]
#new_list = []
#for x in list:
# if x > 0 and (sqrt(x) %1 == 0):
# new_list.append(int(sqrt(x)))
#print(new_list)


# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)

#date = "13.05.2013"
#date_1 = date.split(".")
#day = {
# '01': 'первое', '02': 'второе', '03': 'третье', '04': 'четвертое', '05': 'пятое',
# '06': 'шестое', '07': 'седьмое', '08': 'восьмое', '09': 'девятое', '10': 'десятое',
# '11': 'одинадцатое', '12': 'двинадцатое', '13': 'тринадцатое', '14': 'четырнадцатое',
# '15': 'пятнадцатое', '16': 'шестнадцатое', '17': 'семнадцатое', '18': 'восемнадцатое',
# '19': 'девятнадцатое', '20': 'двадцатое', '21': 'двадцать первое', '22': 'двадцать второе',
# '23': 'двадцать третье', '24': 'двадцать четвертое', '25': 'двадцать пятое', '26': 'двадцать шестое',
# '27': 'двадцать седьмое', '28': 'двадцать восьмое', '29': 'двадцать девятое', '30': 'тридцатое', '31': 'тридцать первое'
#}
#month ={
# '01': 'января', '02': 'февраля', '03': 'марта', '04': 'апреля', '05': 'мая', '06': 'июня',
# '07': 'июля', '08': 'августа', '09': 'сентября', '10': 'октября', '11': 'ноября', '12': 'декабря'
#}
#print(date_1)
#print("{} {} {} года".format(day[date_1[0]], month[date_1[1]], date_1[2]))


# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random

#from random import randint
#n = randint(1,10)
#random_list= [randint(-100,100) for i in range (n)]
#print(random_list)

# Задача-4: Дан список, заполненный произвольными целыми числами.
# Получите новый список, элементами которого будут:
# а) неповторяющиеся элементы исходного списка:
# например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6]
# б) элементы исходного списка, которые не имеют повторений:
# например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6]

#№1

#list = [10, 15, 44, 100 , -100 , 156, 10, 3, 156, 10]
#list2 = set(list)
#print(list2)

#№2
#list = [10, 15, 44, 100 , -100 , 156, 10, 3, 156, 10]
#list2 = []
#for i in list:
# if list.count(i) ==1:
# list2.append(i)
#print (list2)
37 changes: 32 additions & 5 deletions lesson03/home_work/hw03_easy.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,21 @@
# Округление должно происходить по математическим правилам (0.6 --> 1, 0.4 --> 0).
# Для решения задачи не используйте встроенные функции и функции из модуля math.

def my_round(number, ndigits):
pass
#def my_round(number, ndigits):
# pass


#print(my_round(2.1234567, 5))
#print(my_round(2.1999967, 5))
#print(my_round(2.9999967, 5))

def my_round(number, ndigits):
number = number * (10 ** ndigits)
if float(number) - int(number) > 0.5:
number = number // 1 + 1
else:
number = number // 1
return number / (10 ** ndigits)
print(my_round(2.1234567, 5))
print(my_round(2.1999967, 5))
print(my_round(2.9999967, 5))
Expand All @@ -19,10 +30,26 @@ def my_round(number, ndigits):
# Билет считается счастливым, если сумма его первых и последних цифр равны.
# !!!P.S.: функция не должна НИЧЕГО print'ить

def lucky_ticket(ticket_number):
pass
#def lucky_ticket(ticket_number):
# pass


#print(lucky_ticket(123006))
#print(lucky_ticket(12321))
#print(lucky_ticket(436751))

def lucky_ticket(ticket_number):
if (len(str(ticket_number))!= 6) or (type(ticket_number) is not int):
return 'Некорректный номер билета'
else:
ticket_number1 = list(str(ticket_number))
sum1 = int(ticket_number1[0]) + int(ticket_number1[1]) + int(ticket_number1[2])
sum2 = int(ticket_number1[3]) + int(ticket_number1[4]) + int(ticket_number1[5])
if sum1 == sum2:
return 'Билет %s счастливый' %ticket_number
else:
return 'Билет %s несчастливый' %ticket_number
print(lucky_ticket(123456))
print(lucky_ticket(123006))
print(lucky_ticket(12321))
print(lucky_ticket(436751))
print(lucky_ticket(436751))
64 changes: 57 additions & 7 deletions lesson03/home_work/hw03_normal.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,76 @@
# Напишите функцию, возвращающую ряд Фибоначчи с n-элемента до m-элемента.
# Первыми элементами ряда считать цифры 1 1

def fibonacci(n, m):
pass
#def fibonacci(n, m):
# number = [1,1]
# for i in range (2, n+1):
# number.append(number[-1]+number[-2])
# return number
# print (fibonacci(5,10))


#def fibonacci(n, m):

# a, b = 1, 1
# f_list = [1, ]

# for i in range(m):
# a, b = b, a + b
# f_list.append(a)

# return f_list[n - 1:m]


#print('fibonacci(1, 6): ', fibonacci(1, 6))



# Задача-2:
# Напишите функцию, сортирующую принимаемый список по возрастанию.
# Для сортировки используйте любой алгоритм (например пузырьковый).
# Для решения данной задачи нельзя использовать встроенную функцию и метод sort()


def sort_to_max(origin_list):
pass

sort_to_max([2, 10, -12, 2.5, 20, -11, 4, 4, 0])
#def sort_to_max(origin_list):
# if len(origin_list) > 1:
# x = len(origin_list) // 2
# small = []
# large = []

# for i, val in enumerate(origin_list):
# if i != x:
# if val < origin_list[x]:
# small.append(val)
# else:
# large.append(val)

# sort_to_max(small)
# sort_to_max(large)
# origin_list[:] = small + [origin_list[x]] + large

# return origin_list


#print(sort_to_max([2, 10, -12, 2.5, 20, -11, 4, 4, 0]))

# Задача-3:
# Напишите собственную реализацию стандартной функции filter.
# Разумеется, внутри нельзя использовать саму функцию filter.


#x = [11,121,-7,54,"Fdv", 9860,"Hello",11,-5]
#def filt(arg,obj):
# print (obj)
# x_1 = []
# for i in obj :
# if i != arg:
# x_1.append(i)
# print (x_1)
#filt(11,x)

#filt(4, z)
# Задача-4:
# Даны четыре точки А1(х1, у1), А2(x2 ,у2), А3(x3 , у3), А4(х4, у4).
# Определить, будут ли они вершинами параллелограмма.



Loading