Files
Petrocollege/Algorithms_and_programming/Массивы-закреп.py
Reisber 92ed27449a sdgasytfQWERFDAgvf
safaegtfdsfeasdfae

Signed-off-by: Reisber <admin@reisber.space>
2026-04-06 22:44:27 +00:00

218 lines
7.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import random, math
print ("Задание 1")
### Задание 1
list1 = [] ## Пустой список, который мы потом будем заполнять случайными числами
summary_of_positive = 0 ##Сумма положительных чисел
count_of_positive = 0 ##Счётчик количества чисел, которые больше 0
for _ in range (15): ##Ой, точно. Я где-то читал, что некрасиво использовать i при создании цикла, если в цикле она использоваться не будет
list1.append(random.randint(-10,30))
for i in range (15):
if list1[i] >= 0:
summary_of_positive += list1[i]
count_of_positive += 1
med = summary_of_positive // count_of_positive
print (med)
print ("Задание 2")
### Задание 2
list2 = [] ## Пустой список, который мы потом будем заполнять случайными числами
for _ in range (10):
list2.append(random.randint(10,50))
list2_2 = list2[::2] ##Создаю массив положительных чисел при помощи срезов
print ( max(list2_2))
print("Задание 3")
### Задание 3
list3 = [] ## Пустой список, который мы потом будем заполнять случайными числами
for _ in range (15):
list3.append(random.randint(10,90)) ##Заполняем списочек
minimal_number = min(list3) ## Находим минимальное число
for i in range (15):
if list3[i] == minimal_number: ##Дальше проходим по всему списку при помощи цикла и сравниваем числа списка с минимальным, если число равно минимальному, то записываем его индекс
index = i
first_number = list3[0] ##Записываем первое число списка в переменную, чтобы не потерять его при перестановках
print (list3) ## Хотя я мог просто переставить первое число на место минмального, а минимальное и так было у меня зашито в переменную. Ну да ладно
list3[0] = minimal_number
list3[index] = first_number
print (list3, minimal_number, index)
print ("Задание 4")
## Задание 4
list4 = list(range(1,21))
print("Введите числа среза")
n = int(input())
k = int(input())
if n > k:
print ("Ну ты и абоба. Такой срез я не пропущу")
else:
list4_srez = list4[n:k+1]
print (list4_srez, min(list4_srez))
print("Задание 5")
## Задание 5
list5 = []
summary_list5 = 0
summary_list2 = 0
n = int(input())
n2 = n * 2
for _ in range (n2):
list5.append (random.randint(-50,50))
summary_list5 = sum(list5[:n]) # Находим первую половину
summary_list2 = sum(list5[n:]) # Находим вторую половину
result = summary_list5 - summary_list2
print (result)
print ("Задание 6")
## Задание 6
n = int(input())
while n < 10:
print ("n должно быть больше 10")
print("Введите число n")
n = int(input()) ## Мне наверное стоит продолжить писать комментарии, но чёта времени уже 4 ночи, я усталь
if n > 10:
break
list6 = []
for _ in range(n):
list6.append(random.randint(-20, 20))
print("Массив до:", list6)
for i in range(len(list6)):
if list6[i] < 0:
list6[i] = list6[i] * list6[i]
print("Массив после:", list6)
print("Задание 7")
### Задание 7
list7 = []
for _ in range(15):
list7.append(random.randint(-10, 10))
print("Массив:", list7)
sum_pos = 0
count_pos = 0
sum_neg = 0
count_neg = 0
zeros = 0
for x in list7:
if x > 0:
sum_pos = sum_pos + x
count_pos = count_pos + 1
elif x < 0:
sum_neg = sum_neg + x
count_neg = count_neg + 1
else:
zeros = zeros + 1
print("Среднее полож:", sum_pos / count_pos)
print("Среднее отриц:", sum_neg / count_neg)
print("Нулей:", zeros)
print("Задание 8")
### Задание 8
n = int(input("Введите n: "))
list8 = []
for _ in range(2 * n):
list8.append(random.randint(1, 5))
print("Массив:", list8)
sum_sq = 0
sum_cu = 0
for i in range(len(list8)):
if i % 2 == 0:
sum_sq = sum_sq + (list8[i] * list8[i])
else:
sum_cu = sum_cu + (list8[i] * list8[i] * list8[i])
print("Сумма квадратов чётных индексов:", sum_sq)
print("Сумма кубов нечётных индексов:", sum_cu)
print("Задание 9")
### Задание 9
list9 = []
for _ in range(10):
list9.append(random.randint(1, 100))
print("До:", list9)
m_val = max(list9)
m_idx = 0
# Сначала найдём максимум
for i in range(len(list9)):
if list9[i] == m_val:
m_idx = i #Блин, а ведь я мог назвать переменную безумным максом
break
# Теперь всё, что после индекса m_idx, делаем нулями
for i in range(m_idx + 1, len(list9)):
list9[i] = 0
print("После:", list9)
print("Задание 10")
### Задание 10
list10 = [5, 1, 10, 3, 0] # Пример, можно через рандом
max_v = max(list10)
min_v = min(list10)
i_max = 0
i_min = 0
for i in range(len(list10)):
if list10[i] == max_v: i_max = i
if list10[i] == min_v: i_min = i
list10[i_max] = min_v
list10[i_min] = max_v
print("Поменяли местами мин и макс:", list10)
print("Задание 11")
### Задание 11
list11_x = [1.5, 2.0, 3.5, 4.0]
list11_y = []
for val in list11_x:
list11_y.append(val * 0.5)
print("Массив X | Массив Y")
for i in range(len(list11_x)):
print(list11_x[i], " ", list11_y[i]) ## О как прикольно сделал, почти молодец
print("Задание 12")
### Задание 12
list12 = [1, 3, 5, 8, 10]
nomer = 0
for i in range(len(list12)):
if list12[i] % 2 == 0:
nomer = i + 1
break
print("Номер первого четного:", nomer)
print("Задание 13")
### Задание 13
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = []
for x in a:
if x in b:
common.append(x)
print("Общие:", common)
print("Задание 14")
### Задание 14
a = [1, 2, 3]
b = [1, 1, 2, 1, 5]
for x in a:
kolvo = 0
for y in b:
if x == y:
kolvo = kolvo + 1
print("Элемент", x, "встречается", kolvo, "раз")
print("Задание 15")
### Задание 15
orig = [1, -2, 3, -4, 5]
pos = []
neg = []
for x in orig:
if x >= 0:
pos.append(x)
else:
neg.append(x)
final = pos + neg
print("Сначала положительные, потом отрицательные:", final)