sdgasytfQWERFDAgvf
safaegtfdsfeasdfae Signed-off-by: Reisber <admin@reisber.space>
This commit is contained in:
217
Algorithms_and_programming/Массивы-закреп.py
Normal file
217
Algorithms_and_programming/Массивы-закреп.py
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
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)
|
||||||
Reference in New Issue
Block a user