diff --git a/lesson01/home_work/hw01_easy.py b/lesson01/home_work/hw01_easy.py index 4592ef2af..b45135179 100644 --- a/lesson01/home_work/hw01_easy.py +++ b/lesson01/home_work/hw01_easy.py @@ -1,11 +1,36 @@ +__author__ = 'Евгений Шум' # Задача-1: Дано произвольное целое число, вывести поочередно цифры исходного числа +import random -# код пишем тут... +v = str(random.randint(1,999)) +#print (v) +n = len (v) +i = 0 +while i < n: + print ( v[i] ) + i +=1 # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. # Не нужно решать задачу так: print("a = ", b, "b = ", a) - это неправильное решение! +v1 = input('Введите первую переменную: ') +v2 = input('Введите вторую переменную: ') + +v3 = v2 +v2 = v1 +v1 = v3 + +print(v1) +print(v2) + # Задача-3: Запросите у пользователя его возраст. Если ему есть 18 лет, выведите: "Доступ разрешен", # иначе "Извините, пользование данным ресурсом только с 18 лет" + +v = int (input('Укажите ваш возраст: ')) + +if v >= 18: + print('Доступ разрешен') +else: + print('Извините, пользование данным ресурсом возможно только с 18 лет') \ No newline at end of file diff --git a/lesson01/home_work/hw01_hard.py b/lesson01/home_work/hw01_hard.py index d4d9fa7aa..c23d66ac3 100644 --- a/lesson01/home_work/hw01_hard.py +++ b/lesson01/home_work/hw01_hard.py @@ -1,3 +1,5 @@ +__author__ = 'Евгений Шум' + # Задание-1: # Ваня набрал несколько операций в интерпретаторе и получал результаты: # Код: a == a**2 @@ -7,3 +9,24 @@ # Код: a > 999999 # Результат: True # Вопрос: Чему была равна переменная a, если точно известно, что её значение не изменялось? + +# Поскольку ничего лучше в голову не пришло, попробую сделать, переопределив операнды. +# Гуглил.. Надеюсь, не дичь. + +class AltMath: + def __init__ (self, x): + self.x = x + def __gt__ (self, other): + return self.x <= other + def __eq__(self, other): + return self.x == other + def __mul__(self, other): + return self.x * other + def __pow__(self, other): + return self.x ** other + +a = AltMath(0) + +print ('a == a**2: ', a == a**2) +print ('a == a*2', a == a*2) +print ('a > 999999', a > 999999) \ No newline at end of file diff --git a/lesson01/home_work/hw01_normal.py b/lesson01/home_work/hw01_normal.py index 8c6435811..1b90e42c5 100644 --- a/lesson01/home_work/hw01_normal.py +++ b/lesson01/home_work/hw01_normal.py @@ -1,16 +1,52 @@ -__author__ = '' - +__author__ = 'Евгений Шум' # Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа. # Например, дается x = 58375. Нужно вывести максимальную цифру в данном числе, т.е. 8. # Подразумевается, что мы не знаем это число заранее. Число приходит в виде целого беззнакового. +import random + +v = str(random.randint(1,99999)) +print (v) + +n = len (v) +i = 0 +v_max = 0 +while i < n: + if int (v[i]) > v_max: + v_max = int (v[i]) + i += 1 + +print (v_max) # Задача-2: Исходные значения двух переменных запросить у пользователя. # Поменять значения переменных местами. Вывести новые значения на экран. # Решите задачу, используя только две переменные. +v1 = input('Введите первую переменную: ') +v2 = v1 +v1 = input('Введите вторую переменную: ') + +print(v1) +print(v2) # Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида ax2 + bx + c = 0. # Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math -# import math + +import math # math.sqrt(4) - вычисляет корень числа 4 +print ('Решаем квадратное уравнение вида "ax2 + bx + c = 0"') +a = float(input ('Введите коэффициент "а": ')) +b = float(input ('Введите коэффициент "b": ')) +c = float(input ('Введите коэффициент "c": ')) + +print (-a) +print (b) +print (c) + +try: + x1 = float ( -b + math.sqrt(b**2 - 4*a*c)) + x2 = float ( -b - math.sqrt(b**2 - 4*a*c)) + print ('x1=', str(x1)) + print ('x2=', str(x2)) +except ValueError as err: + print (err)