This commit is contained in:
2025-10-02 19:09:09 +05:00
parent 6a4255afff
commit 16d81d6d71

View File

@@ -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()