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
15 changes: 15 additions & 0 deletions task-1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""
Задание:
Создать список и заполнить его элементами различных типов данных.
Реализовать скрипт проверки типа данных каждого элемента. Использовать функцию type() для проверки типа.
Элементы списка можно не запрашивать у пользователя, а указать явно, в программе.
"""

#Создать список и заполнить его элементами различных типов данных.
the_list = [True, 1, 1.0, "One", (), {}]

print("List: {}".format(the_list))

#Реализовать скрипт проверки типа данных каждого элемента. Использовать функцию type() для проверки типа.
for element in the_list:
print("'{}' is {}".format(element, type(element)))
20 changes: 20 additions & 0 deletions task-2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
"""
Задание:
Для списка реализовать обмен значений соседних элементов, т.е. Значениями обмениваются элементы
с индексами 0 и 1, 2 и 3 и т.д. При нечетном количестве элементов последний сохранить на своем месте.
Для заполнения списка элементов необходимо использовать функцию input().
"""

input_string = input("Введите числа, используя пробел в качестве разделителя. ")
the_list = input_string.split(" ")

# Удаляем элементы содержащие пустую строку
for i in range(the_list.count("")):
the_list.remove("")

print("Ваш список: {}".format(the_list))

for i in range(0, len(the_list) // 2):
the_list[2 * i], the_list[2 * i + 1] = the_list[2 * i + 1], the_list[2 * i]

print("Ваш список после обмена соседних элементов: {}".format(the_list))
24 changes: 24 additions & 0 deletions task-3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""
Задание:
Пользователь вводит месяц в виде целого числа от 1 до 12.
Сообщить к какому времени года относится месяц (зима, весна, лето, осень). Напишите решения через list и через dict.
"""

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

# Считываем и проверяем входные параметры
num_of_month = int(input("Ваш месяц: "))
num_of_month = num_of_month if 0 < num_of_month < 13 else 1

# Находим индекс месяца
index = num_of_month // 3
index = index if index != 4 else 0

print("Месяц относиться к {}".format(year_list[index]))
print("Месяц относиться к {}".format(year_dict[num_of_month]))

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

input_string = input("Введите слова, используя пробел в качестве разделителя. ")
words = input_string.split(" ")

# Удаляем элементы содержащие пустую строку
for i in range(words.count("")):
words.remove("")

for i in enumerate(words, 1):
print("{}: {}".format(i[0], i[1][0:10]))
26 changes: 26 additions & 0 deletions task-5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
"""
Задание:
Реализовать структуру «Рейтинг», представляющую собой не возрастающий набор натуральных чисел.
У пользователя необходимо запрашивать новый элемент рейтинга.
Если в рейтинге существуют элементы с одинаковыми значениями,
то новый элемент с тем же значением должен разместиться после них.
Подсказка. Например, набор натуральных чисел: 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].
"""

my_list = [7, 5, 3, 3, 2]

number = int(input("Введите число "))

if my_list[-1] > number:
my_list.append(number)
else:
for i in range(len(my_list)):
if number >= my_list[i]:
my_list.insert(i, number)
break

print(my_list)
66 changes: 66 additions & 0 deletions task-6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
"""
Задание:
*Реализовать структуру данных «Товары». Она должна представлять собой список кортежей. Каждый кортеж хранит
информацию об отдельном товаре. В кортеже должно быть два элемента — номер товара и словарь с параметрами
(характеристиками товара: название, цена, количество, единица измерения). С
труктуру нужно сформировать программно, т.е. запрашивать все данные у пользователя.
Пример готовой структуры:
[
(1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}),
(2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}),
(3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”})
]
Необходимо собрать аналитику о товарах. Реализовать словарь, в котором каждый ключ — характеристика товара,
например название, а значение — список значений-характеристик, например список названий товаров.
Пример:
{
“название”: [“компьютер”, “принтер”, “сканер”],
“цена”: [20000, 6000, 2000],
“количество”: [5, 2, 7],
“ед”: [“шт.”]
}
"""

items = []

properties = {
"название": [],
"цена": [],
"количество": [],
"ед": []
}

item_index = 1

print("Введите название, цену, кол-во, ед. измерения через пробел. \n"
+ " Для заверения ввеода оставте пустую строку и нажмиье Enter")

while True:
input_string = input()
item = input_string.split(" ")

# Удаляем элементы содержащие пустую строку
for i in range(item.count("")):
item.remove("")

if len(item) == 0:
break

if len(item) != 4:
continue

items.append((item_index, {
"название": item[0],
"цена": item[1],
"количество": item[2],
"ед": item[3]
}))

item_index += 1

for item in items:
for key, value in item[1].items():
properties[key].append(value)

print("Введённые данные {}".format(items))
print("Словарь {}".format(properties))