add
This commit is contained in:
108
02-10/tasks.py
108
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):
|
# Задание 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()
|
||||||
|
|||||||
Reference in New Issue
Block a user