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

my_list = [4, 14.8, 'яблоко', ['v', 4], (5, 'a'), {'Sername':'Ivanov', 'name':'Petr'}, {'a', 'b', 'c'}, None, True, False]
for el in my_list:
print(el, type(el))
22 changes: 22 additions & 0 deletions task_2_lesson2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Задание №2
# Для списка реализовать обмен значений соседних элементов. Значениями обмениваются
# элементы с индексами 0 и 1, 2 и 3 и т. д. При нечётном количестве элементов последний
# сохранить на своём месте. Для заполнения списка элементов нужно использовать функцию
# input().

number_elements = int(input('Введите количество элементов списка: '))
input_list = []
i = 0
while i <= (number_elements - 1):
el = input(f'Введите {i} элемент списка: ')
input_list.append(el)
i += 1
print('Список пользователя: ', input_list)

i = 0
while i <= (number_elements // 2):
el = input_list[i + 1]
input_list.pop(i+1)
input_list.insert(i, el)
i += 2
print('Измененный список : ', input_list)
37 changes: 37 additions & 0 deletions task_3_lesson2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Задание №3
# Пользователь вводит месяц в виде целого числа от 1 до 12. Сообщить, к какому времени года
# относится месяц (зима, весна, лето, осень). Напишите решения через list и dict.

# реализация через list
seasons = ['зима', 'весна', 'лето', 'осень']
month = int(input('Введите месяц в виде целого числа от 1 до 12: '))
while month > 12 or month < 1:
print('Не правильно введен месяц!!!')
month = int(input('Введите месяц в виде целого числа от 1 до 12: '))
else:
if month == 12:
print(f'Месяц с номером {month} относится к времени года: {seasons[0]}\n')
else:
print(f'Месяц с номером {month} относится к времени года: {seasons[month // 3]}\n')
print('Реализация через Dict\n')

# реализация через dict
seasons = {
1: 'Зима',
2: 'Зима',
3: 'Весна',
4: 'Весна',
5: 'Весна',
6: 'Лето',
7: 'Лето',
8: 'Лето',
9: 'Осень',
10: 'Осень',
11: 'Осень',
12: 'Зима'}
month = int(input('Введите месяц в виде целого числа от 1 до 12: '))
while month > 12 or month < 1:
print('Не правильно введен месяц!!!')
month = int(input('Введите месяц в виде целого числа от 1 до 12: '))
else:
print(f'Месяц с номером {month} относится к времени года: {seasons[month]}')
14 changes: 14 additions & 0 deletions task_4_lesson2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Задание №4
# Пользователь вводит строку из нескольких слов, разделённых пробелами. Вывести каждое
# слово с новой строки. Строки нужно пронумеровать. Если слово длинное, выводить только
# первые 10 букв в слове.

string = input('Введите строку из нескольких слов разделенных пробелом: ')
list_words = string.split()
length_list = len(list_words)
i = 0
while i < length_list:
word = list_words[i]
list_words[i] = word[0:10]
print(f'{i+1}. {list_words[i]}')
i += 1
24 changes: 24 additions & 0 deletions task_5_lesson2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Задание №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].

my_list = [7, 5, 3, 3, 2]
number = int(input('Введите число: '))
print(f'Рейтинг до ввода: {my_list}')
number_rep = my_list.count(number)
if number_rep > 0:
i = my_list.index(number)
my_list.insert(i+number_rep, number)
else:
if number > my_list[0]:
my_list.insert(0, number)
else:
my_list.append(number)
print(f'Рейтинг после ввода: {my_list}')
46 changes: 46 additions & 0 deletions task_6_lesson2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Задание №6
# *Реализовать структуру данных «Товары». Она должна представлять собой список кортежей.
# Каждый кортеж хранит информацию об отдельном товаре. В кортеже должно быть два
# элемента — номер товара и словарь с параметрами, то есть характеристиками товара:
# название, цена, количество, единица измерения. Структуру нужно сформировать программно,
# запросив все данные у пользователя.
# Пример готовой структуры:
# [
# (1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}),
# (2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}),
# (3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”})
# ]
# Нужно собрать аналитику о товарах. Реализовать словарь, в котором каждый ключ —
# характеристика товара, например, название. Тогда значение — список
# значений-характеристик, например, список названий товаров.
# Пример:
# {
# “название”: [“компьютер”, “принтер”, “сканер”],
# “цена”: [20000, 6000, 2000],
# “количество”: [5, 2, 7],
# “ед”: [“шт.”]
# }

products = []
analysis_products = dict({})
while True:
products.append(
(int(input('Введите номер товара: ')), dict({
'название': input('Введите название: '),
'цена': float(input('Введите цену: ')),
'количество': int(input('Введите количество: ')),
'eд': input('Введите единцы измерения: '),
}))
)
if input('Добавить еще один товар? (да/нет): ') == 'нет':
break
print(f'Структура товаров: {products}')

for product in products:
for key, value in product[-1].items():
if key in analysis_products:
if value not in analysis_products.get(key):
analysis_products.get(key).append(value)
else:
analysis_products.update({key: [value]})
print(f'Аналитика товаров: {analysis_products}')