From dab509d28154e2887aee6f484389e3506b98cc4a Mon Sep 17 00:00:00 2001 From: BESTTEST4YOU <81219764+BESTTEST4YOU@users.noreply.github.com> Date: Tue, 22 Jun 2021 22:46:42 +0300 Subject: [PATCH 1/4] Update and rename README.md to hw3 --- README.md | 1 - hw3 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 1 deletion(-) delete mode 100644 README.md create mode 100644 hw3 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 b/hw3 new file mode 100644 index 0000000..d45c203 --- /dev/null +++ b/hw3 @@ -0,0 +1,86 @@ +#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(*args): + sum = 0 + while True: + n = list(input('Input: ').split()) + if n == '#': + break + else: + for n in args: + sum +=n + +# 6. Реализовать функцию int_func(), принимающую слово из маленьких латинских +# букв и возвращающую его же, но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text. + +# Продолжить работу над заданием. В программу должна попадать строка из слов, разделенных пробелом. +# Каждое слово состоит из латинских букв в нижнем регистре. Сделать вывод исходной строки, +# но каждое слово должно начинаться с заглавной буквы. +# Необходимо использовать написанную ранее функцию int_func(). + +def int_func(): + w = input("Input: ") + w = w.title() + return w +print(int_func()) From d1523d429b6dbe2c307403da7629e55fd715ecfe Mon Sep 17 00:00:00 2001 From: BESTTEST4YOU <81219764+BESTTEST4YOU@users.noreply.github.com> Date: Mon, 28 Jun 2021 18:57:39 +0300 Subject: [PATCH 2/4] Update hw3 --- hw3 | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hw3 b/hw3 index d45c203..754b4f3 100644 --- a/hw3 +++ b/hw3 @@ -61,15 +61,20 @@ print(myfunc2(3, -3)) # Если специальный символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной # ранее сумме и после этого завершить программу. -def myfunc(*args): +def myfunc(): sum = 0 while True: - n = list(input('Input: ').split()) - if n == '#': - break - else: - for n in args: - sum +=n + 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. From 70a46e791dd25bebd0100194472ab87b2fd00899 Mon Sep 17 00:00:00 2001 From: BESTTEST4YOU <81219764+BESTTEST4YOU@users.noreply.github.com> Date: Mon, 28 Jun 2021 19:01:49 +0300 Subject: [PATCH 3/4] Update hw3 --- hw3 | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hw3 b/hw3 index 754b4f3..29f7db1 100644 --- a/hw3 +++ b/hw3 @@ -85,7 +85,14 @@ print(myfunc()) # Необходимо использовать написанную ранее функцию int_func(). def int_func(): - w = input("Input: ") - w = w.title() - return w -print(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() From aee822c9d9cf754842917ed97a97c39f8b964be0 Mon Sep 17 00:00:00 2001 From: BESTTEST4YOU <81219764+BESTTEST4YOU@users.noreply.github.com> Date: Mon, 28 Jun 2021 22:37:04 +0300 Subject: [PATCH 4/4] Rename hw3 to hw3.py --- hw3 => hw3.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hw3 => hw3.py (100%) diff --git a/hw3 b/hw3.py similarity index 100% rename from hw3 rename to hw3.py