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
9 changes: 0 additions & 9 deletions home_works/les_1/task_1

This file was deleted.

7 changes: 0 additions & 7 deletions home_works/les_1/task_2.py

This file was deleted.

6 changes: 0 additions & 6 deletions home_works/les_1/task_3.py

This file was deleted.

8 changes: 0 additions & 8 deletions home_works/les_1/task_4.py

This file was deleted.

24 changes: 0 additions & 24 deletions home_works/les_1/task_5.py

This file was deleted.

31 changes: 0 additions & 31 deletions home_works/les_1/task_6.py

This file was deleted.

14 changes: 14 additions & 0 deletions home_works/les_2/task_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
1. Создать список и заполнить его элементами различных типов данных.
Реализовать скрипт проверки типа данных каждого элемента.
Использовать функцию type() для проверки типа.
Элементы списка можно не запрашивать у пользователя, а указать явно,в программе.
"""

lst = [ 1, 2, 3, 4, 'hello', 'world']

for item in lst:
if type(item) is int:
print(item, ' - тип "целое число"')
elif type(item) is str:
print(item, ' - тип "строка"')
27 changes: 27 additions & 0 deletions home_works/les_2/task_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
"""
2. Для списка реализовать обмен значений соседних элементов, т.е.
Значениями обмениваются элементы с индексами 0 и 1, 2 и 3 и т.д.
При нечетном количестве элементов последний сохранить на своем месте.
Для заполнения списка элементов необходимо использовать функцию input().
"""

lst = input('Введите значения для списка: ')

length_lst = len(lst)

lst2 =[]
if length_lst %2 == 0:
for i in range(0, length_lst-1, 2):
lst2.append(lst[i+1])
lst2.append(lst[i])
else:
for i in range(0, length_lst-1, 2):
lst2.append(lst[i+1])
lst2.append(lst[i])
lst2.append(lst[-1])


print(''.join(lst2))



21 changes: 21 additions & 0 deletions home_works/les_2/task_3.2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
while True:
month = input('Введите число от 1 до 12 включительно: ')


seasons = [(1,'зима'), (2, 'зима'), (3, 'весна'), (4, 'весна'),
(5, 'весна'),
(6, 'лето'),
(7, 'лето'),
(8, 'лето'),
(9, 'осень'),
(10, 'осень'),
(11, 'осень'),
(12, 'зима')]

if not month.isdigit():
print('Вы ввели не верное число')
else:
if int(month) >= 1 and int(month) <= 12:
print('Время года:', seasons[int(month)-1][1])
else:
print('Вы ввели не верное число')
32 changes: 32 additions & 0 deletions home_works/les_2/task_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
"""
3. Пользователь вводит месяц в виде целого числа от 1 до 12.
Сообщить к какому времени года относится месяц (зима, весна, лето, осень).
Напишите решения через list и через dict.
"""

while True:
month = input('Введите число от 1 до 12 включительно: ')

seasons = {
1: 'зима',
2: 'зима',
3: 'весна',
4: 'весна',
5: 'весна',
6: 'лето',
7: 'лето',
8: 'лето',
9: 'осень',
10: 'осень',
11: 'осень',
12: 'зима'
}

if not month.isdigit():
print('Вы ввели не верное число')
else:
if int(month) >= 1 and int(month) <= 12:
print('Время года:', seasons[int(month)])
else:
print('Вы ввели не верное число')

14 changes: 14 additions & 0 deletions home_works/les_2/task_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
4. Пользователь вводит строку из нескольких слов, разделённых пробелами.
Вывести каждое слово с новой строки. Строки необходимо пронумеровать.
Если в слово длинное, выводить только первые 10 букв в слове.
"""

string = input('Введите нескольких слов, разделённых пробелами. \n>>>')

string_lst = string.split(' ')

count = 1
for item in string_lst:
print(count, item[:10])
count +=1
22 changes: 22 additions & 0 deletions home_works/les_2/task_5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""
5. Реализовать структуру «Рейтинг», представляющую собой не возрастающий набор
натуральных чисел. У пользователя необходимо запрашивать новый элемент рейтинга.
Если в рейтинге существуют элементы с одинаковыми значениями, то новый элемент
с тем же значением должен разместиться после них.

Подсказка. Например, набор натуральных чисел: 7, 5, 3, 3, 2.
Пользователь ввел число 3. Результат: 7, 5, 3, 3, 3, 2.
Пользователь ввел число 8. Результат: 8, 7, 5, 3, 3, 2.
Пользователь ввел число 1. Результат: 7, 5, 3, 3, 2, 1.

Набор натуральных чисел можно задать непосредственно в коде,
например, my_list = [7, 5, 3, 3, 2].
"""


num = int(input('Введите новый элемент рейтинга от 0 до 11: '))
my_list = [7, 5, 3, 3, 2]
my_list.append(num)

print(sorted(my_list, reverse=True))

82 changes: 82 additions & 0 deletions home_works/les_2/task_6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
"""
6. * Реализовать структуру данных «Товары».
Она должна представлять собой список кортежей.
Каждый кортеж хранит информацию об отдельном товаре.
В кортеже должно быть два элемента — номер товара и словарь с параметрами
(характеристиками товара: название, цена, количество, единица измерения).
Структуру нужно сформировать программно, т.е. запрашивать все данные у пользователя.

Пример готовой структуры:
[
(1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}),
(2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}),
(3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”})
]

Необходимо собрать аналитику о товарах.
Реализовать словарь, в котором каждый ключ — характеристика товара,
например название, а значение — список значений-характеристик,
например список названий товаров.

Пример:
{
“название”: [“компьютер”, “принтер”, “сканер”],
“цена”: [20000, 6000, 2000],
“количество”: [5, 2, 7],
“ед”: [“шт.”]
}
"""

templates = {
'название': ('Название товара: ', str),
'цена': ('Стоимость товара: ', int),
'количество': ('Введите количество товара: ', int),
'eд': ('Единицы измерения товара: ', str)
}


count = 1
prod_list =[]

new_enter = True

while new_enter:
product = {}
for k, v in templates.items():
while True:
try:
user_value = v[1](input(v[0]))
except ValueError as e:
print(f'Вы ввели не верные данные {e}')
continue
product[k] = user_value
break

prod_list.append((count, product))
count +=1
print(prod_list)


while True:
new_prod = input('Хотите ввести новый товар? да/нет ')
if new_prod.lower() in ('да', 'нет'):
new_enter = new_prod == 'да'
break
else:
print('Вы ввели не верное значение')
continue


prod_analitics = {}

for k in templates:
prod_analitics[k] = [item[1][k] for item in prod_list]

print(prod_analitics)
'''
for k in templates:
result = []
for item in prod_list:
result.append(item[1][k])
prod_analitics[k] = result
'''
1 change: 1 addition & 0 deletions home_works/les_2/text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test file