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
35 changes: 21 additions & 14 deletions lesson01/home_work/hw01_easy.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Денис Кобышев'

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

# код пишем тут...
a = 2
b = 3.4
c = input('Введитие строку ',)
d = [a, b, c]
e = (b, c, d)
print(d)
print(e)

# Задача-2: Запросите от пользователя число, сохраните в переменную,
# прибавьте к числу 2 и выведите результат на экран.
# Если возникла ошибка, прочитайте ее, вспомните урок и постарайтесь устранить ошибку.

# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
# Подсказка:
# * постарайтесь сделать решение через дополнительную переменную
# или через арифметические действия
# Не нужно решать задачу так:
# print("a = ", b, "b = ", a) - это неправильное решение!
user_num = int(input('Введитие целое число ', ))
print(user_num + 2)


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

user_age = int(input('Введитие свой возраст ', ))
if user_age>=18:
print('Доступ разрешен')
else:
print('Извините, пользование данным ресурсом только с 18 лет')
29 changes: 14 additions & 15 deletions lesson01/home_work/hw01_hard.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@

__author__ = 'Ваши Ф.И.О.'

# Задание-1:
# Ваня набрал несколько операций в интерпретаторе и получал результаты:
# Код: a == a**2
# Результат: True
# Код: a == a*2
# Результат: True
# Код: a > 999999
# Результат: True

# Вопрос: Чему была равна переменная a,
# если точно известно, что её значение не изменялось?

# Подсказка: это значение точно есть ;)
__author__ = 'Денис Кобышев'

# Создайте программу медицинская анкета, где вы запросите у пользователя такие данные, как имя, фамилию, возраст, и вес.
# И выведите результат согласно которому пациент в хорошем состоянии, если ему до 30 лет и вес от 50 и до 120 кг,
# Пациенту требуется начать вести правильный образ жизни, если ему более 30 и вес меньше 50 или больше 120 кг
# Пациенту требуется врачебный осмотр, если ему более 40 и вес менее 50 или больше 120 кг.
# Все остальные варианты вы можете обработать на ваш вкус и полет фантазии =)
# Формула не отражает реальной действительности и здесь используется только ради примера.

# Пример: Вася Пупкин, 29 год, вес 90 - хорошее состояние
# Пример: Вася Пупкин, 31 год, вес 121 - следует заняться собой
# Пример: Вася Пупкин, 31 год, вес 49 - следует заняться собой
# Пример: Вася Пупкин, 41 год, вес 121 - следует обратится к врачу!
# Пример: Вася Пупкин, 41 год, вес 49 - следует обратится к врачу!
39 changes: 23 additions & 16 deletions lesson01/home_work/hw01_normal.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Денис Кобышев'

# Задача: используя цикл запрашивайте у пользователя число пока оно не станет больше 0, но меньше 10.
# После того, как пользователь введет корректное число, возведите его в степерь 2 и выведите на экран.
# Например, пользователь вводит число 123, вы сообщаете ему, что число не верное,
# и сообщаете об диапазоне допустимых. И просите ввести заного.
# Допустим пользователь ввел 2, оно подходит, возводим в степень 2, и выводим 4

while True:
user_num = int(input('Введите число '))
if user_num == 0 or user_num >= 10:
print('Число должно быть больше 0 но меньше 10 попробуйте еще раз')
else:
break
print('Результат равен: ', user_num ** 2)

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


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

a = int(input('введите переменную a ', ))
b = int(input('введите переменную b ', ))
a = a + b
b = a - b
a = a - b
print("a= ",a)
print("b= ",b)


# Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида
# ax² + bx + c = 0.
# Коэффициенты уравнения вводятся пользователем.
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4
40 changes: 38 additions & 2 deletions lesson02/home_work/hw02_easy.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Задача-1:
# Задача-1:
# Дан список фруктов.
# Напишите программу, выводящую фрукты в виде нумерованного списка,
# выровненного по правой стороне.
Expand All @@ -12,14 +12,50 @@
# 4. арбуз

# Подсказка: воспользоваться методом .format()
fruits = ('яблоко', 'банан', 'киви', 'арбуз')
id = 1
for fruit in fruits:
print("{0}. {1:>6}".format(id, fruit))
id += 1


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

list1 = ['a', 'c', 'd', 5, "мышь"]
list2 = ['c', 'a', 5,]
for i in range(len(list1) - 1, -1, -1):
if list1[i] in list2:
del list1[i]
print(list1)

# list1 = ['a', 'b', 'c', 'd', 5, "мышь"]
# list2 = ['b', 'c', 'a']
# list3 = [item for item in list1 if item not in list2]
# print(list3)
#

print('-'*25)


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

list5 = []
list6 = []
for x in range(16):
list5.append(x)
for y in list5:
if y % 2 == 0:
list6.append(y / 4)
else:
list6.append(y * 2)
print(list6)


# list5 = [x for x in range(15)]
# list6 = [x1**2 if x1 % 2 == 0 else x1 * 2 for x1 in list5 ]
# print (list6)
67 changes: 66 additions & 1 deletion lesson02/home_work/hw02_normal.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,90 @@
from datetime import datetime
import random
import math

# Задача-1:
# Дан список, заполненный произвольными целыми числами, получите новый список,
# элементами которого будут квадратные корни элементов исходного списка,
# но только если результаты извлечения корня не имеют десятичной части и
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]

list1 = []
for x in range(15):
list1.append(random.randint(-100, 100))
print(list1)
list2 = []
for y in list1:
if y >= 0 and math.sqrt(y).is_integer():
list2.append(y ** 0.5)
print(list2)


# list1 = [random.randint(-100, 100) for x in range(15)]
#
# print(list1)
#
# list2 = [int(y ** 0.5) for y in list1 if y >= 0 and math.sqrt(y).is_integer()]
#
# print(list2)

print('-'*25)


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

curr_date = datetime.now()

mlist = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']

mnth_idx = curr_date.month - 1

day = curr_date.day

month = mlist[mnth_idx]

year = curr_date.year

result = f"{day} {month} {year} года."

print(result)

print('-'*25)

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


qty = int(input('Введите количество элементов в списке = ',))

print([random.randint(-100, 100) for x in range(qty)])

print('-'*25)

# Задача-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]


rptdlst = [1, 2, 4, 5, 6, 2, 5, 2]

nrptdlst = list(set(rptdlst))

print(nrptdlst)

rptdlst1 = [1, 2, 4, 5, 6, 2, 5, 2]

nrptdlst1 = [x for x in rptdlst1 if rptdlst1.count(x) == 1]

print(nrptdlst1)




80 changes: 52 additions & 28 deletions lesson03/home_work/hw03_easy.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,52 @@
# Задание-1:
# Напишите функцию, округляющую полученное произвольное десятичное число
# до кол-ва знаков (кол-во знаков передается вторым аргументом).
# Округление должно происходить по математическим правилам (0.6 --> 1, 0.4 --> 0).
# Для решения задачи не используйте встроенные функции и функции из модуля math.

def my_round(number, ndigits):
pass


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


# Задание-2:
# Дан шестизначный номер билета. Определить, является ли билет счастливым.
# Решение реализовать в виде функции.
# Билет считается счастливым, если сумма его первых и последних цифр равны.
# !!!P.S.: функция не должна НИЧЕГО print'ить

def lucky_ticket(ticket_number):
pass


print(lucky_ticket(123006))
print(lucky_ticket(12321))
print(lucky_ticket(436751))
# Постарайтесь использовать то, что мы прошли на уроке при решении этого ДЗ,
# вспомните про zip(), map(), lambda, посмотрите где лучше с ними, а где они излишни!

# Задание - 1
# Создайте функцию, принимающую на вход Имя, возраст и город проживания человека
# Функция должна возвращать строку вида "Василий, 21 год(а), проживает в городе Москва"
#
# def cred_output(name, age, city):
# agm = 'год'
# if 20 >= int(age) > 4:
# agm = 'лет'
# elif int(age[-1]) == 0 or int(age[-1]) > 4:
# agm = 'лет'
# elif int(age[-1]) > 1:
# agm = 'года'
#
# print(f'{name}, {age} {agm}, проживает в городе {city}.')
#
# name = input('Введите имя ',)
# age = input('Введите возраст ',)
# city = input('Введите город проживания ',)
#
# cred_output(name, age, city)

# Задание - 2
# Создайте функцию, принимающую на вход 3 числа, и возвращающую наибольшее из них

# def mymax(numbers):
# numbersint = list(map(int, numbers.split(",")))
# mmax = 0
# for i in numbersint:
# if i > mmax:
# mmax = i
# return mmax
#
#
# numb = input('Введите 3 числа через запятую: ')
# print(f'Наибольшим числом из {numb} является {mymax(numb)}')


# Задание - 3
# Создайте функцию, принимающую неограниченное количество строковых аргументов,
# верните самую длинную строку из полученных аргументов
#
def longest_str(*args):
ret = ''
for i in args:
if len(i) > len(ret):
ret = i
return ret

print(longest_str('True', 'FX', 'Entertainment', 'OneLongWordForTest'))
Loading