mirror of
https://github.com/denis-on/basicsPython.git
synced 2026-02-03 08:00:51 +03:00
dz less03
This commit is contained in:
parent
d7cbcbfb2c
commit
3e515756ea
26
less-03/task-01.py
Normal file
26
less-03/task-01.py
Normal file
@ -0,0 +1,26 @@
|
||||
# Реализовать функцию, принимающую два числа (позиционные аргументы) и выполняющую их деление.
|
||||
# Числа запрашивать у пользователя, предусмотреть обработку ситуации деления на ноль.
|
||||
|
||||
def inputIntNum(message):
|
||||
n=0
|
||||
while True:
|
||||
try:
|
||||
n = float(input(message + ' '))
|
||||
except ValueError:
|
||||
print('Это не число или используйте "." для разделения разрядов, попробуйте снова.')
|
||||
continue
|
||||
else:
|
||||
break
|
||||
return n
|
||||
|
||||
def my_div(a,b):
|
||||
c=None
|
||||
try:
|
||||
c = a/b
|
||||
except ZeroDivisionError:
|
||||
print('Деление на ноль')
|
||||
return c
|
||||
|
||||
print('Введите 2 числа, опробуем диление a/b')
|
||||
print(f"Результат деление a/b = { my_div(inputIntNum('Число а?'), inputIntNum('Число b?')) }")
|
||||
|
||||
9
less-03/task-02.py
Normal file
9
less-03/task-02.py
Normal file
@ -0,0 +1,9 @@
|
||||
# Выполнить функцию, которая принимает несколько параметров, описывающих данные
|
||||
# пользователя: имя, фамилия, год рождения, город проживания, email, телефон.
|
||||
# Функция должна принимать параметры как именованные аргументы.
|
||||
# Осуществить вывод данных о пользователе одной строкой.
|
||||
|
||||
def my_f(first_n, last_n, year, city, email, tel):
|
||||
print(f'Резудьтат поиска: {last_n} {first_n}, {year}г.р., проживает в {city}, телефон: {tel}, е-маил: {email}')
|
||||
|
||||
my_f(first_n='Иван', last_n='Иванов', year='2000', city='Городище', email='ii@company.com', tel='+17612345654')
|
||||
9
less-03/task-03.py
Normal file
9
less-03/task-03.py
Normal file
@ -0,0 +1,9 @@
|
||||
# Реализовать функцию my_func(), которая принимает три позиционных
|
||||
# аргумента и возвращает сумму наибольших двух аргументов.
|
||||
|
||||
def my_func(first, second, third):
|
||||
r = [first, second, third]
|
||||
r.remove(min(r))
|
||||
return sum(r)
|
||||
|
||||
print('сумма =',my_func(2, 2, 33))
|
||||
46
less-03/task-04.py
Normal file
46
less-03/task-04.py
Normal file
@ -0,0 +1,46 @@
|
||||
# Программа принимает действительное положительное число x и целое отрицательное число y.
|
||||
# Выполните возведение числа x в степень y. Задание реализуйте в виде функции my_func(x, y).
|
||||
# При решении задания нужно обойтись без встроенной функции возведения числа в степень.
|
||||
|
||||
def my_func_v1(x,y):
|
||||
if y == 0 : return 1
|
||||
elif y > 0:
|
||||
return x**y
|
||||
else:
|
||||
y = -y
|
||||
return 1/x**y
|
||||
|
||||
def my_func_v2(x,y):
|
||||
degr=1
|
||||
if y == 0:
|
||||
return degr
|
||||
elif y > 0:
|
||||
while y>=1:
|
||||
degr *= x
|
||||
y = y-1
|
||||
return degr
|
||||
else:
|
||||
y = -y
|
||||
while y>=1:
|
||||
degr *= x
|
||||
y = y-1
|
||||
return 1/degr
|
||||
|
||||
def inputIntNum(message):
|
||||
n=0
|
||||
while True:
|
||||
try:
|
||||
n = int(input(message + ' '))
|
||||
except ValueError:
|
||||
print('Это не число, попробуйте снова.')
|
||||
continue
|
||||
else:
|
||||
break
|
||||
return n
|
||||
|
||||
print('Решение задачи X в степени Y')
|
||||
x = inputIntNum('X=')
|
||||
y = inputIntNum('Y=')
|
||||
|
||||
print('Возведение в степень с помощью оператора **', my_func_v1(x,y))
|
||||
print('без оператора **, с использованием цикла', my_func_v2(x,y))
|
||||
33
less-03/task-05.py
Normal file
33
less-03/task-05.py
Normal file
@ -0,0 +1,33 @@
|
||||
# 5. Программа запрашивает у пользователя строку чисел, разделённых пробелом.
|
||||
# При нажатии Enter должна выводиться сумма чисел.
|
||||
# Пользователь может продолжить ввод чисел, разделённых пробелом и снова нажать Enter.
|
||||
# Сумма вновь введённых чисел будет добавляться к уже подсчитанной сумме.
|
||||
# Но если вместо числа вводится специальный символ, выполнение программы завершается.
|
||||
# Если специальный символ введён после нескольких чисел, то вначале нужно добавить сумму
|
||||
# этих чисел к полученной ранее сумме и после этого завершить программу.
|
||||
|
||||
def my_func():
|
||||
summ = 0
|
||||
cont_flag = True
|
||||
while cont_flag:
|
||||
res = 0
|
||||
str = input("Ведите несколько чисел через пробел, для завершения используйте 'q'")
|
||||
list_num = str.split()
|
||||
for el in list_num:
|
||||
try:
|
||||
n = int(el)
|
||||
except ValueError:
|
||||
if el.lower() == 'q':
|
||||
summ += res
|
||||
print(f'Сумма введенных чисел {res}, общая сумма {summ}')
|
||||
return summ
|
||||
print(f'{el} - не число')
|
||||
continue
|
||||
else:
|
||||
res += n
|
||||
continue
|
||||
summ += res
|
||||
print(f'Сумма введенных чисел {res}, общая сумма {summ}')
|
||||
|
||||
my_func()
|
||||
print('END')
|
||||
26
less-03/task-06-07.py
Normal file
26
less-03/task-06-07.py
Normal file
@ -0,0 +1,26 @@
|
||||
# Реализовать функцию int_func(), принимающую слова из маленьких латинских букв и возвращающую
|
||||
# их же, но с прописной первой буквой. Например, print(int_func(‘text’)) -> Text.
|
||||
|
||||
# Каждое слово состоит из латинских букв в нижнем регистре
|
||||
|
||||
def my_title(word):
|
||||
return word[0].upper()+word[1:]
|
||||
|
||||
def isANSi_lower_alpha(word):
|
||||
if not word.isascii() or not word.isalpha() or not word.islower():
|
||||
return 0
|
||||
return 1
|
||||
|
||||
def int_func(str):
|
||||
word_list = str.split()
|
||||
for i, word in enumerate(word_list):
|
||||
if isANSi_lower_alpha(word):
|
||||
word_list[i] = my_title(word)
|
||||
else:
|
||||
word_list[i] = 'error_word'
|
||||
|
||||
return ' '.join(word_list)
|
||||
|
||||
test_str = 'The quick brown fox jumps over the lazy dog. кот'
|
||||
print(test_str)
|
||||
print(int_func(test_str))
|
||||
Loading…
x
Reference in New Issue
Block a user