diff --git a/task_1_lesson3.py b/task_1_lesson3.py new file mode 100644 index 0000000..64e8259 --- /dev/null +++ b/task_1_lesson3.py @@ -0,0 +1,20 @@ +# Задание №1 +# Реализовать функцию, принимающую два числа (позиционные аргументы) и выполняющую их +# деление. Числа запрашивать у пользователя, предусмотреть обработку ситуации деления на +# ноль. + +def div_numbers(): + ''' Запрашивает два числа и выдает результат деления одного на другое''' + try: + num_1 = float(input('Введите число которое будет делиться: ')) + num_2 = float(input('Введите число для делителя: ')) + result = num_1 / num_2 + except ZeroDivisionError: + print('Деление на ноль!') + return + return result + + +print(div_numbers()) + + diff --git a/task_2_lesson3.py b/task_2_lesson3.py new file mode 100644 index 0000000..fcbe354 --- /dev/null +++ b/task_2_lesson3.py @@ -0,0 +1,18 @@ +# Задание №2 +# Выполнить функцию, которая принимает несколько параметров, описывающих данные +# пользователя: имя, фамилия, год рождения, город проживания, email, телефон. Функция +# должна принимать параметры как именованные аргументы. Осуществить вывод данных о +# пользователе одной строкой. + +def data_entry(): + name = input('Введите имя: ') + surname = input('Введите фамилию: ') + year_birth = input('Введите год рождения: ') + city_residence = input('Введите город проживания: ') + email = input('Введите email: ') + telephone = input('Введите телефон: ') + data = ' '.join([name, surname, year_birth, city_residence, email, telephone]) + return data + + +print(data_entry()) diff --git a/task_3_lesson3.py b/task_3_lesson3.py new file mode 100644 index 0000000..b73dab2 --- /dev/null +++ b/task_3_lesson3.py @@ -0,0 +1,17 @@ +# Задание №3 +# Реализовать функцию my_func(), которая принимает три позиционных аргумента и +# возвращает сумму наибольших двух аргументов. + +def my_func(arg_1, arg_2, arg_3): + if arg_1 > arg_3 and arg_2 > arg_3: + return arg_1 + arg_2 + elif arg_1 > arg_2 and arg_3 > arg_2: + return arg_1 + arg_3 + else: + return arg_2 + arg_3 + + +arg_1 = float(input('Введите первый аргумент:')) +arg_2 = float(input('Введите второй аргумент:')) +arg_3 = float(input('Введите третий аргумент:')) +print(my_func(arg_1, arg_2, arg_3)) diff --git a/task_4_lesson3.py b/task_4_lesson3.py new file mode 100644 index 0000000..3997f5b --- /dev/null +++ b/task_4_lesson3.py @@ -0,0 +1,29 @@ +# Задание №4 +# Программа принимает действительное положительное число x и целое отрицательное число +# y. Выполните возведение числа x в степень y. Задание реализуйте в виде функции +# my_func(x, y). При решении задания нужно обойтись без встроенной функции возведения +# числа в степень. +# Подсказка: попробуйте решить задачу двумя способами. Первый — возведение в степень с +# помощью оператора **. Второй — более сложная реализация без оператора **, +# предусматривающая использование цикла. + +def my_func(x, y): + result = 1 / (x ** abs(y)) + return result + + +def my_func_1(x, y): + result = x * x + i = 2 + while i < abs(y): + result = result * x + i += 1 + result = 1 / result + return result + + +x = float(input('Введите число: ')) +y = int(input('В какую отрицательную степень нужно возвести число:')) + +print(my_func(x, y)) +print(my_func_1(x, y)) diff --git a/task_5_lesson3.py b/task_5_lesson3.py new file mode 100644 index 0000000..82ec4a2 --- /dev/null +++ b/task_5_lesson3.py @@ -0,0 +1,25 @@ +# Задание №5 +# Программа запрашивает у пользователя строку чисел, разделённых пробелом. При нажатии +# Enter должна выводиться сумма чисел. Пользователь может продолжить ввод чисел, +# разделённых пробелом и снова нажать Enter. Сумма вновь введённых чисел будет +# добавляться к уже подсчитанной сумме. +# Но если вместо числа вводится специальный символ, выполнение программы завершается. +# Если специальный символ введён после нескольких чисел, то вначале нужно добавить сумму +# этих чисел к полученной ранее сумме и после этого завершить программу. + +def sum_str(): + sum_numbers = 0 + while True: + str_numbers = input('Введите строку чисел, разделенных пробелом или "exit" для выхода: ') + list_numbers = str_numbers.split(' ') + for el in list_numbers: + if el != 'exit': + sum_numbers = round((sum_numbers + float(el)), 2) + else: + print(f'Общая сумма: {sum_numbers}') + return sum_numbers + print(f'Общая сумма: {sum_numbers}') + return sum_numbers + + +sum_str() diff --git a/task_6_lesson3.py b/task_6_lesson3.py new file mode 100644 index 0000000..1a6bd19 --- /dev/null +++ b/task_6_lesson3.py @@ -0,0 +1,15 @@ +# Задание №6 +# Реализовать функцию int_func(), принимающую слова из маленьких латинских букв и +# возвращающую их же, но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text. + +def int_func(word): + word = word.lower() + symbols = list(word) + symbols[0] = symbols[0].upper() + word = ''.join(symbols) + return word + + +print(int_func(input('Введите слово: '))) + + diff --git a/task_7_lesson3.py b/task_7_lesson3.py new file mode 100644 index 0000000..f7ef4fa --- /dev/null +++ b/task_7_lesson3.py @@ -0,0 +1,21 @@ +# Задание №7 +# Продолжить работу над заданием. В программу должна попадать строка из слов, разделённых +# пробелом. Каждое слово состоит из латинских букв в нижнем регистре. Нужно сделать вывод +# исходной строки, но каждое слово должно начинаться с заглавной буквы. Используйте +# написанную ранее функцию int_func(). + +def int_func(word): + word = word.lower() + symbols = list(word) + symbols[0] = symbols[0].upper() + word = ''.join(symbols) + return word + + +str_words = input('Введите строку слов разделенных пробелом: ') +list_words = str_words.split(' ') +list_words_1 = [] +for el in list_words: + list_words_1.append(int_func(el)) +str_words = ' '.join(list_words_1) +print(str_words)