Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions Lesson 2/HW_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Проверка типа данных элементов списка

list_new = ['python', 5, None, 2.3, True, (1, 2, 3, 4, 5), {'a', 'b', 'c'}]
print(list_new) # вывод списка на экран

length = len(list_new) # определение длины списка
i = 0 # обнуление счетчика индекса элементов

while i < length: # цикл для определения типа данных каждого элемента списка
print('Тип элемента', i, ':', type(list_new[i])) # вывод типа данных i-ого элемента
i += 1



25 changes: 25 additions & 0 deletions Lesson 2/HW_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Обмен значений соседних элементов списка

# Введем строку, содержащую список элементов
list_input = str(input("Введите список через запятую (пример: 1, 2, 3): "))

# Разобьем строку на список элементов
list_new = list_input.split(', ')
print(list_new) # вывод списка на экран

length = len(list_new) # определение длины списка
i = 0 # обнуление счетчика индекса элементов

while i + 1 < length: # цикл по перестановке соседних элементов списка
list_new[i], list_new[i+1] = list_new[i+1], list_new[i] # осуществление перестановки соседних элементов
i += 2

print(list_new) # вывод итогового списка








50 changes: 50 additions & 0 deletions Lesson 2/HW_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Времена года

"""
season = ['зима', 'весна', 'лето', 'осень'] # список с временами года
month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # список с номерами месяцев

month_new = input('Введите номер интересующего Вас месяца: ') # запрос ввода месяца пользователем
if month_new.isdigit(): # проверка: является ли введенный пользователем месяц числом
month_new = int(month_new) # присвоение введенному пользователем элементу тип данных "число"
if month_new <= month[-1]:
if month_new == month[-1] or month_new == month[0] or month_new == month[1]:
print('Данный месяц соответствует времени года - ', season[0])
elif month_new == month[2] or month_new == month[3] or month_new == month[4]:
print('Данный месяц соответствует времени года - ', season[1])
elif month_new == month[5] or month_new == month[6] or month_new == month[7]:
print('Данный месяц соответствует времени года - ', season[2])
elif month_new == month[8] or month_new == month[9] or month_new == month[10]:
print('Данный месяц соответствует времени года - ', season[3])
else:
print('Вы ввели несуществующий номер месяца')
else:
print('Вы неверно ввели номер месяца ')
"""

season_dict = { # словарь с временами года
'зима': [12, 1, 2],
'весна': [3, 4, 5],
'лето': [6, 7, 8],
'осень': [9, 10, 11]
}
month = input('Введите номер интересующего Вас месяца: ') # запрос ввода месяца пользователем
if month.isdigit(): # проверка: является ли введенный пользователем месяц числом
month = int(month) # присвоение введенному пользователем элементу тип данных "число"
if month <= season_dict['зима'][0]:
if month in season_dict['зима']: # проверка: есть ли в ключе 'зима' значение интересующего нас месяца
print('Данный месяц соответствует времени года - зима')
elif month in season_dict['весна']:
print('Данный месяц соответствует времени года - весна')
elif month in season_dict['лето']:
print('Данный месяц соответствует времени года - лето')
elif month in season_dict['осень']:
print('Данный месяц соответствует времени года - осень')
else:
print('Вы ввели несуществующий номер месяца')
else:
print("Вы неверно ввели номер месяца")




19 changes: 19 additions & 0 deletions Lesson 2/HW_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Работа со строкой

string = input('Введите какой-либо набор слов: ') # ввод строки
string_new = string.split() # преобразование строки в список (разделяющий элемент - пробел)
i = 0 # обнуление счетчика индекса элементов
print(string_new)
# Цикл вывода элементов списка построчно с присвоение номера каждой строке
while i < len(string_new):
if len(string_new[i]) < 10:
print(str(i+1), string_new[i]) # вывод номера строки и i-го элемента списка
i += 1
else:
# Вывод номера строки и первых 10 символов i-го элемента списка
print(str(i+1), string_new[i][0:10])
i += 1




22 changes: 22 additions & 0 deletions Lesson 2/HW_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Рейтинг

rating = [9, 7, 5, 2] # список с рейтингом
rank = input('Введите новый элемент рейтинга: ') # ввод нового элемента рейтинга
length = len(rating) # пределение длины списка
i = 0 # обнуление счетчика индекса элементов

if rank.isdigit(): # проверка: является ли введенный пользователем элемент числом
rank = int(rank) # присвоение введенному пользователем элементу тип данных "число"
while i < length: # цикл постановки нового элемента соответственно его номеру
if rank >= rating[i]:
rating.insert(i, rank) # постановка на i-ое место новый элемент
print('Обновленный рейтинг: ', rating) # вывод обновленного рейтинга
break
elif rank < rating[-1]: # проверка: является ли введенный элемент меньше последнего элемента
rating.insert(length, rank)
print('Обновленный рейтинг', rating)
else:
i += 1
else:
print('Вы ввели не натуральное число')

30 changes: 30 additions & 0 deletions Lesson 2/HW_6.1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Структура данных "Товары"

characteristic = ['Название', 'Цена', 'Количество', 'Единица измерения']
count = input('Введите размер Вашего списка товаров: ') # ввод количества товаров каталога
k = 0 # обнуляем счетчик количества товаров
catalogue = [] # каталог товаров
if count.isdigit(): # проверка: является ли введенный пользователем элемент числом
count = int(count)
while k < count:
number = int(input('Введите порядковый номер товара: '))
goods = input('Введите название товара, цену, количество и единицу измерения через запятую: ')
goods_new = goods.split(', ') # преобразование строки в список (разделяющий элемент - пробел)
products = {} # создание словаря, с характеристиками отдельного товара
for i in range(len(characteristic)):
# Соотнесение списка с характеристиками со списком, введенным пользователем
products[characteristic[i]] = goods_new[i]
product_new = (int(number), products) # кортеж с порядковым номером товара и его описанием
catalogue.insert(k, product_new) # вставка в каталог кортежа product_new
k += 1
print('Каталог товаров: ', catalogue) # вывод итогового каталога с товарами
else:
print('Вы ввели неверное количетво товаров')








16 changes: 16 additions & 0 deletions Lesson 3/HW_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Деление чисел


def my_div():
"""Возвращает частное от деления"""
var_1 = float(input('Введите делимое: '))
var_2 = float(input('Введите делитель: '))
if var_2 != 0: # если делитель не равен нулю, то осуществляем деление
div = var_1 / var_2
else:
div = str('Делить на ноль нельзя!')
return div


print('Частное: ', my_div())

16 changes: 16 additions & 0 deletions Lesson 3/HW_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Данные о пользователе


def data():
"""Возвращает данные о пользователе"""
name = input('Введите имя: ')
surname = input('Введите фамилию: ')
birth_year = input('Введите год рождения: ')
city = input('Введите город проживания: ')
email = input('Введите email: ')
ph_number = input('Введите номер телефона: ')
user = str(f"Имя: {name}; Фамилия: {surname}; Год рождения: {birth_year}; Город проживания: {city}; Email: {email}; Номер телефона {ph_number}")
return user


print(data())
18 changes: 18 additions & 0 deletions Lesson 3/HW_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Сумма наибольших элементов


def my_func():
"""Возвращает сумму максимальных двух элементов"""
list_input = str(input('Введите три числа через запятую: ')) # ввод аргументов
list_new = list_input.split(', ') # разбиение строки на список элементов
max_1 = max(list_new) # поиск максимального значения в списке
list_new.remove(max_1) # удаление максимального значения из списка
max_2 = max(list_new) # поиск нового максимального значения в списке
try:
s = int(max_1) + int(max_2) # попытаться сложить два выявленных наибольших элемета
except ValueError:
return print('Вы ввели не числовые значения')
return s


print(my_func()) # вывод результата функции
21 changes: 21 additions & 0 deletions Lesson 3/HW_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Возведение положительного числа в отрицательную степень


def my_func(x, y):
"""Возвращает x^y"""
try:
x = float(x) # присвоить 'х' тип данных float
y = int(y) # присвоить 'y' тип данных int
if (x > 0) and (y < 0):
square = x ** y
else:
print('Либо (x), либо (у) введен неверно')
except ValueError:
return print('Либо (x), либо (у) введен неверно')
return square


x = input('Введите положительное число x: ')
y = input('Введите отрицательное число y (степень, в которую необходимо возвести x): ')

print(my_func(x, y)) # вывод результата работы функции
32 changes: 32 additions & 0 deletions Lesson 3/HW_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Суммирование введенных элементов


def my_func(input_list):
"""Возвращает сумму введенных элементов"""
list_new = input_list.split(' ') # разделение строки на отдельные элементы
my_sum = 0 # обнуление итоговой суммы
try:
for i in range(len(list_new)): # цикл суммирования элементов
if list_new[i] != 'стоп':
my_sum += float(list_new[i])
i += 1
else:
break
except ValueError:
return print('Вы неверно ввели числа')
return my_sum


# Сделаем так, чтобы после завершения суммирования первой строки, сразу выводилась следующая
s = 0 # обнуляем сумму между элементами строк

while 1:
input_list = str(input('Введите числа через пробел, например, 1 2.2 -3: ')) # ввод строки
try:
s += my_func(input_list)
print(f'Сумма элементов равна: {s:.3f}')
if 'стоп' in input_list: # проверка на наличие спец. символа, завершающего суммирование
break
except TypeError or ValueError:
continue

19 changes: 19 additions & 0 deletions Lesson 3/HW_6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Вывод каждого слова предложиния с заглавной буквы


def int_func(word):
# Склеим первую заглавную букву слова с остальными буквами
word = word[0].upper() + word[1:]
return word


def func_new():
my_str = str(input('Введите какое-либо предложение: ')) # ввод предложения пользователем
new_str = my_str.split() # разделение строки на отдельные элементы
for i in range(len(new_str)): # цикл присваивания каждому слову предложения первой заглавной буквы
new_str[i] = int_func(new_str[i]) # выполнение функции int_func над каждым словом
new_str = ' '.join(new_str) # склеивание слов с разделителем ' '.
return new_str


print('Измененная строка имеет вид: ', func_new())