diff --git a/lesson01/home_work/.DS_Store b/lesson01/home_work/.DS_Store new file mode 100644 index 000000000..a7b675ff4 Binary files /dev/null and b/lesson01/home_work/.DS_Store differ diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index f927b0b06..cb5c2d7a5 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Львов Дмитрий Михайлович' # Задача-1: Дано произвольное целое число (число заранее неизвестно). # Вывести поочередно цифры исходного числа (порядок вывода цифр неважен). @@ -8,6 +8,11 @@ # * при желании решите задачу с применением цикла for. # код пишем тут... +number = input('Введите число: ') +counter = 0 +while counter < len(number): + print(number[counter]) + counter += 1 # Задача-2: Исходные значения двух переменных запросить у пользователя. @@ -17,8 +22,21 @@ # или через арифметические действия # Не нужно решать задачу так: # print("a = ", b, "b = ", a) - это неправильное решение! +number1 = input('Введите первое число: ') +number2 = input('Введите второе число: ') +swap = number1 +number1 = number2 +number2 = swap +print("Значение первой переменной: ",number1) +print("Значение второй переменной: ",number2) + # Задача-3: Запросите у пользователя его возраст. # Если ему есть 18 лет, выведите: "Доступ разрешен", # иначе "Извините, пользование данным ресурсом только с 18 лет" +age = int(input('Сколько вам лет?: ')) +if age >= 18: + print("Доступ разрешен") +else: + print("Извините, пользование данным ресурсом только с 18 лет") diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 991724e9a..541fe53b9 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -1,5 +1,5 @@ -__author__ = 'Ваши Ф.И.О.' +__author__ = 'Львов Дмитрий Михайлович' # Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа. # Например, дается x = 58375. @@ -9,6 +9,18 @@ # Подсказки: # * постарайтесь решить задачу с применением арифметики и цикла while; # * при желании и понимании решите задачу с применением цикла for. +number = input("Введите число: ") +a = 0 + +i = 0 + +while i < len(number): + if int(number[i]) > int(a): + a = number[i] + i+=1 + else: + i+=1 +print(a) # Задача-2: Исходные значения двух переменных запросить у пользователя. @@ -17,6 +29,11 @@ # Подсказки: # * постарайтесь сделать решение через действия над числами; # * при желании и понимании воспользуйтесь синтаксисом кортежей Python. +number1 = input("Введите первое число: ") +number2 = input("Введите второе число: ") +number1, number2 = number2, number1 +print("Первое число: ", number1) +print("Второе число: ", number2) # Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида @@ -25,3 +42,15 @@ # Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math: # import math # math.sqrt(4) - вычисляет корень числа 4 +import math +a = int(input("Введите коэффициент а: ")) +b = int(input("Введите коэффициент b: ")) +c = int(input("Введите коэффициент c: ")) +D = int(b*b - 4*a*c) +if D<0: + print("Корней нет") +else: + x1 = ((-1)*b + math.sqrt(D))/(2*a) + x2 = ((-1)*b - math.sqrt(D))/(2*a) + print("Корень 1: ", x1) + print("Корень 2: ", x2) \ No newline at end of file diff --git a/lesson02/home_work/hw02_easy.py b/lesson02/home_work/hw02_easy.py index ed4447e50..17b3085ed 100644 --- a/lesson02/home_work/hw02_easy.py +++ b/lesson02/home_work/hw02_easy.py @@ -2,7 +2,6 @@ # Дан список фруктов. # Напишите программу, выводящую фрукты в виде нумерованного списка, # выровненного по правой стороне. - # Пример: # Дано: ["яблоко", "банан", "киви", "арбуз"] # Вывод: @@ -12,14 +11,37 @@ # 4. арбуз # Подсказка: воспользоваться методом .format() +fruit1 = "Apple" +fruit2 = "Banana" +fruit3 = "Kiwi" +fruit4 = "Water Melon" +print("1.{}\n2.{}\n3.{}\n4.{}".format(fruit1, fruit2, fruit3, fruit4)) # Задача-2: # Даны два произвольные списка. # Удалите из первого списка элементы, присутствующие во втором списке. +list1 = ['aaa', 'hello', 'diebro', 'sss'] +list2 = ['aaa', 'hello'] + +for element1 in list1[:]: + for element2 in list2[:]: + if element2 == element1: + list1.remove(element2) +print('То, что осталось: {}'.format(list1)) # Задача-3: # Дан произвольный список из целых чисел. # Получите НОВЫЙ список из элементов исходного, выполнив следующие условия: # если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два. + +a = [1, 4, 5, 8, 16, 32, 15, 17, 9, 20, 3, 27, 25] +for n, i in enumerate(a): + if i % 2 == 0: + a[n] = a[n] / 4 + + else: + a[n] = a[n] * 2 + +print("Новый список: {}".format(a)) \ No newline at end of file diff --git a/lesson02/home_work/hw02_normal.py b/lesson02/home_work/hw02_normal.py index 3acfaabb6..7ff7d532b 100644 --- a/lesson02/home_work/hw02_normal.py +++ b/lesson02/home_work/hw02_normal.py @@ -4,18 +4,38 @@ # но только если результаты извлечения корня не имеют десятичной части и # если такой корень вообще можно извлечь # Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2] +import math +list = [1, -2, 3, 4, -5, 6, -7, 8, 9, 10, -11, 12, 13, -14, 15, 16, 121] +new_list = [] +for elem in list: + if elem > 0 and (math.sqrt(elem)) % 1 == 0: + new_list.append(int(math.sqrt(elem))) +print(new_list) # Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013. # Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года. # Склонением пренебречь (2000 года, 2010 года) +date = input ('Введите дату в формате dd.mm.yyyy: ') +new_date = (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('Сегодня {} {} {} года.'.format(day[new_date[0]], (month[new_date[1]]), new_date[2])) # Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами # в диапазоне от -100 до 100. В списке должно быть n - элементов. # Подсказка: # для получения случайного числа используйте функцию randint() модуля random +import random +counter = int (input('Введите количество элементов: ')) +mylist = [] +n = 0 +while n < counter: + mylist.append(random.randint(-100, 100)) + n +=1 +print(mylist) # Задача-4: Дан список, заполненный произвольными целыми числами. # Получите новый список, элементами которого будут: @@ -23,3 +43,28 @@ # например, 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] +import random +count = int (input('Введите количество элементов: ')) +mylist = [] +n = 0 +while n < count: + mylist.append(random.randint(0, 100)) + n +=1 + +print(mylist) + +sort_list = set(mylist) +print(sort_list) +import random +print('Кол-во элементов 15') +count = 15 +mylist = [] +n = 0 +while n < count: + mylist.append(random.randint(0, 10)) + n +=1 + +print(mylist) + +sort_list = set(mylist) +print(sort_list) \ No newline at end of file