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): # Задание 1
# list.append(random.randint(diap_min, diap_max)) def task1():
print("== 1 ЗАДАНИЕ ==")
list_default = [] # создаем список
min_num = -10 # Минимальное
max_num = 10 # Максимальное
elements = 20 # Кол во элементов
#print("Не сорт:", *list) # Создание списка через рандом
for _ in range(elements):
list_default.append(randint(min_num,max_num))
print("Несорт:", *list_default)
#for i in range(N): # Алгоритм пузырька
# for g in range(N-1-i): for i in range(elements):
# if list[g] < list[g+1]: for j in range(elements-1-i):
# list[g], list[g+1] = list[g+1], list[g] if list_default[j] > list_default[j+1]:
#print("Сорт:", *list) list_default[j], list_default[j+1] = list_default[j+1], list_default[j]
print("Сорт:", *list_default)
N=45 # Задание 2
diap_min=0 def task2():
diap_max=20 print("== 2 ЗАДАНИЕ ==")
list=[] # Списки
list_chet=[] list_default = [] # создаем список
index=0 list_even = [] # Создаем четный список
list_odd = [] # Создаем не четный список
list_min_max = [] # список min и max
for _ in range(N): # Остальное
list.append(random.randint(diap_min,diap_max)) min_number = -20 # Минимальное
max_number = 20 # Максимальное
elements = 45 # Кол во элементов
index = 0 # Индекс
# Создание списка через рандом
for _ in range(elements):
list_default.append(randint(min_number,max_number))
for i in range(N): # Алгоритм пузырька
for g in range(N-1-i): for i in range(elements):
if list[g] > list[g+1]: for j in range(elements-1-i):
list[g], list[g+1] = list[g+1], list[g] 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 True: # Первый вид сортировки:
if list[index] % 2 == 0: while index <= 44:
list_chet.append(list[index]) if list_default[index] % 2 == 0: list_even.append(list_default[index])
index+=1 index+=1
if index == N: print(" - 1. четные элементы:", *list_even[:len(list_even)//3])
break
print("Четный список:", *list_chet) # Второй вид сортировки
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()