diff --git a/README.md b/README.md deleted file mode 100644 index fdc793e..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -python diff --git a/hw3.py b/hw3.py new file mode 100644 index 0000000..29f7db1 --- /dev/null +++ b/hw3.py @@ -0,0 +1,98 @@ +#1. Реализовать функцию, принимающую два числа (позиционные аргументы) и +# выполняющую их деление. Числа запрашивать у пользователя, предусмотреть +# обработку ситуации деления на ноль. + +while True: + def myfunc(arg1, arg2): + try: + return arg1 / arg2, arg1 + except ZeroDivisionError: + return print('Division on 0') + print(myfunc((int(input('Enter first number: '))), (int(input('Enter second number: '))))) + +#2. Реализовать функцию, принимающую несколько параметров, +# описывающих данные пользователя: имя, фамилия, +# год рождения, город проживания, email, телефон. +# Функция должна принимать параметры как именованные аргументы. +# Реализовать вывод данных о пользователе одной строкой. + +# Robert Paulson 1980 NewYork rb@yahoo.com 989898 + +print('Who are You?') +def myfunc(**kwargs): + return list(kwargs.values()) +print(', '.join(myfunc(name=input('Name: '), + name2=input('Surname: '), + year=input('Year of birth: '), + town=input('Town: '), + email=input('Email: '), + tel=input('Tel number: ')))) + +# 3. Реализовать функцию my_func(), которая принимает три позиционных аргумента, +# и возвращает сумму наибольших двух аргументов. + +def myfunc(a, b, c): + n = [a, b, c] + n.remove(min(a, b, c)) + return sum(n) +print(myfunc(1, 2, 3)) + +# 4. Программа принимает действительное положительное число x и целое отрицательное число y. +# Необходимо выполнить возведение числа x в степень y. Задание необходимо реализовать в виде функции my_func(x, y). +# При решении задания необходимо обойтись без встроенной функции возведения числа в степень. +# Подсказка: попробуйте решить задачу двумя способами. Первый — возведение в степень с помощью оператора **. +# Второй — более сложная реализация без оператора **, предусматривающая использование цикла. + +def myfunc(x, y): + return 1 / x ** abs(y) +print(myfunc(3, -3)) + +def myfunc2(x, y): + for i in range(abs(y - 1)): + x *= x + return 1 / x +print(myfunc2(3, -3)) + +# 5. Программа запрашивает у пользователя строку чисел, разделенных пробелом. +# При нажатии Enter должна выводиться сумма чисел. +# Пользователь может продолжить ввод чисел, +# разделенных пробелом и снова нажать Enter. Сумма вновь введенных чисел будет добавляться +# к уже подсчитанной сумме. Но если вместо числа вводится специальный символ, выполнение программы завершается. +# Если специальный символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной +# ранее сумме и после этого завершить программу. + +def myfunc(): + sum = 0 + while True: + li = input('Input: ').split() + for num in li: + if num == 'stop': + return sum + else: + try: + sum += int(num) + except ValueError: + print('For exit - stop') + print('Summa = ', sum) +print(myfunc()) + +# 6. Реализовать функцию int_func(), принимающую слово из маленьких латинских +# букв и возвращающую его же, но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text. + +# Продолжить работу над заданием. В программу должна попадать строка из слов, разделенных пробелом. +# Каждое слово состоит из латинских букв в нижнем регистре. Сделать вывод исходной строки, +# но каждое слово должно начинаться с заглавной буквы. +# Необходимо использовать написанную ранее функцию int_func(). + +def int_func(): + w = input("Input: ").split() + for word in w: + lenn = 0 + for ch in word: + if 97 <= ord(ch) <= 122: + lenn += 1 + if lenn == len(word): + print(word.title()) + else: + print(f'Error : {word}') +int_func()