add
This commit is contained in:
112
02-10/tasks.py
112
02-10/tasks.py
@@ -1,43 +1,87 @@
|
||||
import random
|
||||
from random import randint
|
||||
|
||||
# * это оператор развертки, тоесть убирает скобки и запятые в списках
|
||||
# Небольшая информация.
|
||||
# * Это распаковка элементов в списке, множествах списков и тд.
|
||||
#
|
||||
# Задания начал возносить в функции без принятия значения
|
||||
# (если в самом задании не нужно указывать значения).
|
||||
# Так как легче понимать где задание, чем писать комментарий.
|
||||
|
||||
#list = []
|
||||
#diap_min = -999
|
||||
#diap_max = -20
|
||||
#N = 20
|
||||
#
|
||||
|
||||
#for _ in range(N):
|
||||
# list.append(random.randint(diap_min, diap_max))
|
||||
|
||||
#print("Не сорт:", *list)
|
||||
# Задание 1
|
||||
def task1():
|
||||
print("== 1 ЗАДАНИЕ ==")
|
||||
list_default = [] # создаем список
|
||||
min_num = -10 # Минимальное
|
||||
max_num = 10 # Максимальное
|
||||
elements = 20 # Кол во элементов
|
||||
|
||||
#for i in range(N):
|
||||
# for g in range(N-1-i):
|
||||
# if list[g] < list[g+1]:
|
||||
# list[g], list[g+1] = list[g+1], list[g]
|
||||
#print("Сорт:", *list)
|
||||
# Создание списка через рандом
|
||||
for _ in range(elements):
|
||||
list_default.append(randint(min_num,max_num))
|
||||
print("Несорт:", *list_default)
|
||||
|
||||
N=45
|
||||
diap_min=0
|
||||
diap_max=20
|
||||
list=[]
|
||||
list_chet=[]
|
||||
index=0
|
||||
# Алгоритм пузырька
|
||||
for i in range(elements):
|
||||
for j in range(elements-1-i):
|
||||
if list_default[j] > list_default[j+1]:
|
||||
list_default[j], list_default[j+1] = list_default[j+1], list_default[j]
|
||||
print("Сорт:", *list_default)
|
||||
|
||||
for _ in range(N):
|
||||
list.append(random.randint(diap_min,diap_max))
|
||||
# Задание 2
|
||||
def task2():
|
||||
print("== 2 ЗАДАНИЕ ==")
|
||||
# Списки
|
||||
list_default = [] # создаем список
|
||||
list_even = [] # Создаем четный список
|
||||
list_odd = [] # Создаем не четный список
|
||||
list_min_max = [] # список min и max
|
||||
|
||||
# Остальное
|
||||
min_number = -20 # Минимальное
|
||||
max_number = 20 # Максимальное
|
||||
elements = 45 # Кол во элементов
|
||||
index = 0 # Индекс
|
||||
|
||||
for i in range(N):
|
||||
for g in range(N-1-i):
|
||||
if list[g] > list[g+1]:
|
||||
list[g], list[g+1] = list[g+1], list[g]
|
||||
# Создание списка через рандом
|
||||
for _ in range(elements):
|
||||
list_default.append(randint(min_number,max_number))
|
||||
|
||||
while True:
|
||||
if list[index] % 2 == 0:
|
||||
list_chet.append(list[index])
|
||||
index += 1
|
||||
if index == N:
|
||||
break
|
||||
print("Четный список:", *list_chet)
|
||||
# Алгоритм пузырька
|
||||
for i in range(elements):
|
||||
for j in range(elements-1-i):
|
||||
if list_default[j] > list_default[j+1]:
|
||||
list_default[j],list_default[j+1]=list_default[j+1],list_default[j]
|
||||
print("Нач список:", *list_default)
|
||||
print("Виды сортировок:")
|
||||
|
||||
# Первый вид сортировки:
|
||||
while index <= 44:
|
||||
if list_default[index] % 2 == 0: list_even.append(list_default[index])
|
||||
index+=1
|
||||
print(" - 1. четные элементы:", *list_even[:len(list_even)//3])
|
||||
|
||||
# Второй вид сортировки
|
||||
print(" - 2. min и max:",
|
||||
min(list_default[:len(list_default)*2//3]),
|
||||
max(list_default[:len(list_default)*2//3])
|
||||
)
|
||||
|
||||
# Третий вид сортировки
|
||||
index=0 # обнуляю индекс
|
||||
while index <= 44:
|
||||
if list_default[index] % 2 != 0: list_odd.append(list_default[index])
|
||||
index+=1
|
||||
print(" - 3. нечетные элементы:", *list_odd[:len(list_default)*3//3])
|
||||
|
||||
# Мини бонус, просто хочу сделать
|
||||
def main():
|
||||
value = int(input("Выберите задание(1 или 2): "))
|
||||
if value == 1: task1()
|
||||
elif value == 2: task2()
|
||||
elif value == 0: exit()
|
||||
else:
|
||||
print("Введено не верное значение")
|
||||
main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user