From c2e2c814c17135dd12c06743cb18397e9e4d5c1a Mon Sep 17 00:00:00 2001 From: geekbrains Date: Tue, 7 Apr 2020 10:43:23 +0300 Subject: [PATCH] less3 --- less_3_home_1.py | 16 ++++++++++++++++ less_3_home_2.py | 8 ++++++++ less_3_home_3.py | 13 +++++++++++++ less_3_home_4.py | 24 ++++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 less_3_home_1.py create mode 100644 less_3_home_2.py create mode 100644 less_3_home_3.py create mode 100644 less_3_home_4.py diff --git a/less_3_home_1.py b/less_3_home_1.py new file mode 100644 index 0000000..dd8f40d --- /dev/null +++ b/less_3_home_1.py @@ -0,0 +1,16 @@ +#1. Реализовать функцию, принимающую два числа (позиционные аргументы) и +# выполняющую их деление. Числа запрашивать у пользователя, +# предусмотреть обработку ситуации деления на ноль. + +num1 = int(input('Введите первое число: ')) +num2 = int(input('Введите второе число: ')) + + +def dev (num1, num2): + try: + num1 / num2 + except ZeroDivisionError: + return "На ноль делить нельзя" + +print(dev(num1, num2)) + diff --git a/less_3_home_2.py b/less_3_home_2.py new file mode 100644 index 0000000..8bd1e20 --- /dev/null +++ b/less_3_home_2.py @@ -0,0 +1,8 @@ +#1) Реализовать функцию, принимающую несколько параметров,описывающих данные +# пользователя: имя, фамилия, год рождения, город проживания, email, телефон. +# Функция должна принимать параметры как именованные аргументы. +# Реализовать вывод данных о пользователе одной строкой. + +def my_func(name, surname, age, city, email, phone): + print(f'name - {name}, surname - {surname}, age - {age}, city - {city}, email - {email}, phone - {phone}') +my_func(name='Иван', surname='Иванов', age='40 лет',city= 'Гороховец', email= 'ivanov@mail.ru', phone='+74923822034' ) diff --git a/less_3_home_3.py b/less_3_home_3.py new file mode 100644 index 0000000..db2a82f --- /dev/null +++ b/less_3_home_3.py @@ -0,0 +1,13 @@ +#3. Реализовать функцию my_func(), которая принимает три позиционных аргумента, +# и возвращает сумму наибольших двух аргументов. +num1 = int(input("Введите первое число: ")) +num2 = int(input("Введите второе число: ")) +num3 = int(input("Введите третье число: ")) +def my_func(num1, num2, num3): + if num1 > num3 and num2 > num3: + return num1 + num2 + elif num1 > num2 and num3 > num2: + return num1 + num3 + else: + return num2 + num3 +print(f'Сумма наибольших двух аргументов - {my_func(num1, num2, num3)}') \ No newline at end of file diff --git a/less_3_home_4.py b/less_3_home_4.py new file mode 100644 index 0000000..02862a8 --- /dev/null +++ b/less_3_home_4.py @@ -0,0 +1,24 @@ +#4)Программа принимает действительное положительное число x и целое отрицательное +# число y. Необходимо выполнить возведение числа x в степень y. Задание необходимо +# реализовать в виде функции my_func(x, y). При решении задания необходимо обойтись +# без встроенной функции возведения числа в степень. +#Подсказка: попробуйте решить задачу двумя способами. Первый — возведение в степень +# с помощью оператора **. Второй — более сложная реализация без оператора **, +# предусматривающая использование цикла. +x = int(input('Введите действительное положительное число: ')) +y = int(input('Введите целое отрицательное число: ')) +def my_func(x, y): + return x ** y +print(my_func(x, y)) + +# i = 0 +# while i <= -y: +# x = 1 / (x * x) +# i += 1 +# print(x) + + + + + +