diff --git a/Homework_3/1 func division.py b/Homework_3/1 func division.py new file mode 100644 index 0000000..4c2bb8f --- /dev/null +++ b/Homework_3/1 func division.py @@ -0,0 +1,15 @@ +#1. Реализовать функцию, принимающую два числа (позиционные аргументы) и выполняющую их деление. +# Числа запрашивать у пользователя, предусмотреть обработку ситуации деления на ноль. + +def division(a,b): + if b == 0: #Заглушка для деления на 0 + return 'На ноль делить нельзя' + return a / b + + +first_number = float(input('Введите первое число: ')) +second_number = float(input('Введите второе число: ')) + +devision_result = division(first_number,second_number) + +print(devision_result) \ No newline at end of file diff --git a/Homework_3/2 parametres.py b/Homework_3/2 parametres.py new file mode 100644 index 0000000..51b8297 --- /dev/null +++ b/Homework_3/2 parametres.py @@ -0,0 +1,17 @@ +#2. Реализовать функцию, принимающую несколько параметров, описывающих данные пользователя: имя, фамилия, год рождения, город проживания, email, телефон. +# Функция должна принимать параметры как именованные аргументы. +# Реализовать вывод данных о пользователе одной строкой. + +def parametres(a , b , c , d , e ,f): + return f'Имя: {a}, фамилия: {b}, год рождения: {c}, город проживания: {d}, e-mail: {e}, Телефон: {f}' + +name = input('Введите ваше имя: ') +surname = input('Введите вашу фамилию: ') +year = int(input('Введите год вашего рождения. Месяц и день не нужно: ')) +town = input('Введите город вашего проживания: ') +mail = input('Введите ваш e-mail: ') +phone = input('Введите ваш номер телефона: ') + +parameter_str = parametres(name , surname , year , town , mail , phone) + +print(parameter_str) \ No newline at end of file diff --git a/Homework_3/3 summ of bigest numbers.py b/Homework_3/3 summ of bigest numbers.py new file mode 100644 index 0000000..da2185b --- /dev/null +++ b/Homework_3/3 summ of bigest numbers.py @@ -0,0 +1,23 @@ +#3. Реализовать функцию my_func(), которая принимает три позиционных аргумента, и возвращает сумму наибольших двух аргументов. + +def sum_of_bigest_numbers(a , b , c): + base_of_numbers = [] + base_of_numbers.append(a) #Заполняем пустой список введенными числами + base_of_numbers.append(b) + base_of_numbers.append(c) + first_of_sum = 0 + second_of_sum = 0 #Задаем 2 переменные, которые в дальнейшем будут складываться + for i in base_of_numbers: #Сравниваем первую переменную с каждым элементом списка + if first_of_sum <= i: + second_of_sum = first_of_sum #Если переменная меньше элемента списка, присваиваем ей значение этого элемента + first_of_sum = i #Второй переменной - предыдущее значение первой. + return first_of_sum + second_of_sum + + + +first_number = int(input('Введите первое число: ')) +second_number = int(input('Введите второе число: ')) +third_number = int(input('Введите третье число: ')) + +result = sum_of_bigest_numbers(first_number , second_number , third_number) +print(result) \ No newline at end of file diff --git a/Homework_3/4 exponentiation.py b/Homework_3/4 exponentiation.py new file mode 100644 index 0000000..c2a5ad3 --- /dev/null +++ b/Homework_3/4 exponentiation.py @@ -0,0 +1,23 @@ +#4. Программа принимает действительное положительное число x и целое отрицательное число y. +# Необходимо выполнить возведение числа x в степень y. +# Задание необходимо реализовать в виде функции my_func(x, y). +# При решении задания необходимо обойтись без встроенной функции возведения числа в степень. +#Подсказка: попробуйте решить задачу двумя способами. +# Первый — возведение в степень с помощью оператора **. +# Второй — более сложная реализация без оператора **, предусматривающая использование цикла. + +def numbers_exponentiation(a , b): + module_b = abs(b) #Берем отрицательное число по модулю + i = 1 + while i != module_b: + a = a * a #Умножаем a на саму себя, пока i не будет равен второй переменной по модулю. + i = i + 1 + return a +# return a ** abs(b) (Второе решение, более простое) + +first_number = float(input('Введите действительное положительное число: ')) +second_number = int(input('Введите отрицательное число: ')) + +result = numbers_exponentiation(first_number , second_number) +print(result) + diff --git a/Homework_3/5 summ_of_numbers.py b/Homework_3/5 summ_of_numbers.py new file mode 100644 index 0000000..1c6c2aa --- /dev/null +++ b/Homework_3/5 summ_of_numbers.py @@ -0,0 +1,37 @@ +#5. Программа запрашивает у пользователя строку чисел, разделенных пробелом. +# При нажатии Enter должна выводиться сумма чисел. Пользователь может продолжить ввод чисел, разделенных пробелом и снова нажать Enter. +# Сумма вновь введенных чисел будет добавляться к уже подсчитанной сумме. +# Но если вместо числа вводится специальный символ, выполнение программы завершается. +# Если специальный символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной ранее сумме и после этого завершить программу. +def sum_of_numbers(a): + pure_sum = 0 + q_count = 0 #Счетчик. Если при проходе по списку встречается q, счетчик будет равен 1, иначе - 0. + num_list = a.split( ) # Превращаем набор символов в список. + for i in num_list: + if i == 'q': + q_count = 1 + break + else: + i = int(i) + pure_sum = pure_sum + i + return {q_count : pure_sum} #На выходе - словарь из значения, которое мы будем выводить, и ключа, отвечающего за q. + + +result = 0 +sum_of_results = 0 #Переменная, к которой мы будем прибавлять результаты функции. +numbers_str = None +print('Программа позволяет делать из строки сумму чисел. Если введете одним из элементов q, программа остановится') +while True: + numbers_str = (input('Введите строку чисел через пробел: ')) #Запрашиваем у пользователя строку через While True + result = sum_of_numbers(numbers_str) #Вызываем функцию, результатом которой будет словарь + if 1 in result.keys() and result.get(1) != 0: #Если ключ словаря 1 и значение != 0, печатаем значение и выходим из программы + sum_of_results = sum_of_results + result.get(1) + print(sum_of_results) + break + elif result.get(1) == 0: #Если значение = 0 (если просто ввести q), просто выходим из программы, без вывода символа 0. + break + else: + sum_of_results = sum_of_results + result.get(0) #Если не 0, продолжаем складывать и выводить результат. + print(sum_of_results) + + diff --git a/Homework_3/6 Upper_word.py b/Homework_3/6 Upper_word.py new file mode 100644 index 0000000..807a5b1 --- /dev/null +++ b/Homework_3/6 Upper_word.py @@ -0,0 +1,13 @@ +#6. 6. Реализовать функцию int_func(), принимающую слово из маленьких латинских букв и возвращающую его же, но с прописной первой буквой. +# Например, print(int_func(‘text’)) -> Text. +#Продолжить работу над заданием. +# В программу должна попадать строка из слов, разделенных пробелом. Каждое слово состоит из латинских букв в нижнем регистре. +# Сделать вывод исходной строки, но каждое слово должно начинаться с заглавной буквы. +# Необходимо использовать написанную ранее функцию int_func(). + +def int_func(a): + spliter = a.split( ) + return a.title() + + +print(int_func('asf asf a')) #Кажется, я не совсем понял задание, но сюда можно воткнуть и строку и одно слово. \ No newline at end of file