1)
mas = [1, 2, -2, 3, -5, 12, 5] # Можете указать свои числа
start = mas.index(max(mas))
stop = max.index(min(mas))
if start > stop:
start, stop = stop, start
print(len(list(filter(lambda x: x > 0, mas[start+1:stop]
2)
mas = [1, 2, -2, 3, -5, 12, 5] # Можете указать свои числа
print(sum(mas[-mas[::-1].index(list(filter(lambda x: x < 0, mas))[-1]):]))
3)
mas = [1, 2, -2, 3, -5, 12, 5] # Можете указать свои числа
minimum = 1 # Все значения меньше указанного будут удалены
mas = list(filter(lamda x: x >= minimum, mas))
print(*mas) # Выводи получившийся массив
1:
from random import randint
cnt = 0
values = [randint(-50, 50) for _ in range(10)]
min_index = values.index(min(values))
max_index = values.index(max(values))
if max_index < min_index: min_index, max_index = max_index, min_index
for i in range(min_index+1,max_index):
if values[i] > 0: cnt += 1
print(values)
print('Количество положительных значений между минимальным и максимальным значениями равно:', cnt)
2:
from random import randint
summ = 0
n = int(input('Введите количество значений в массиве: '))
values = [randint(-500, 500)/100 for _ in range(n)]
for value in values[::-1]:
if value < 0: break
summ += value
print(values)
print('Сумма значений правее последнего отрицательного значения равна:', summ)
3.
from random import randint
values = [randint(-50, 50) for _ in range(10)]
print(values)
n = int(input('Введите значение, элементы меньше которого будут удалены: '))
for i in range(len(values)-1, 0, -1):
if values[i] < n: values.pop(i)
print(values)
#include <iostream>
using namespace std;
int main()
{
int y, x;
cin >> x >> y;
int a[8][8];
for (int i = 0; i < 8; ++i)
for (int j = 0; j < 8; ++j)
a[i][j] = 0;
y--;
x--;
int px = x, py = y;
while (px >= 0 && py >= 0){
a[px][py] = 2;
px--;
py--;
}
px = x, py = y;
while (px >= 0 && py < 8){
a[px][py] = 2;
px--;
py++;
}
px = x, py = y;
while (px < 8 && py < 8){
a[px][py] = 2;
px++;
py++;
}
px = x, py = y;
while (px < 8 && py >= 0){
a[px][py] = 2;
px++;
py--;
}
px = 0;
while (px < 8){
a[px][y] = 2;
px++;
}
py = 0;
while (py < 8){
a[x][py] = 2;
py++;
}
a[x][y] = 1;
for (int i = 0; i < 8; ++i){
for (int j = 0; j < 8; ++j){
if(a[i][j] == 0) cout << "." << " ";
else if(a[i][j] == 1) cout << "Q" << " ";
else cout << "*" << " ";
}
cout << endl;
}
return 0;
}
Объяснение:
вроде все просто, не знаю, что объяснять. скорее всего, есть возможность сделать это гораздо более оптимизировано, но мне было лень думать, так что сделал тупым и неоптимизированным методом, состоящем из кучи циклов while.
P. s. Если , дайте лучший ответ и жмякните на " " . Это мотивирует давать ответы дальше.