# coding: utf-8 list = [] # создаём пустой лист flag = 0 # переменная, которая будет чередоваться for i in range(1, 16, 2): # диапазон от 1 до 15 с шагом в 2 числа if flag == 0: # когда переменная равна 0 пишем положительное число list.append(i) flag = 1 else: # иначе отрицательное list.append(-i) flag = 0 print(list) # выводим результат на экран
Первую строку можно не писать.
Код без комментариев:
list = [] flag = 0 for i in range(1, 16, 2): if flag == 0: list.append(i) flag = 1 else: list.append(-i) flag = 0 print(list)
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.
Тестовое решение:
-0.00136006072493969
2. А вот так учат писать это же школьные учителя:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
m:array[1..100] of real;
i,k:integer;
s:real;
begin
s:=0;
k:=0;
for i:=1 to 100 do begin
m[i]:=sin(i)*cos(i);
if m[i]<>0 then begin
s:=s+m[i];
k:=k+1
end
end;
Writeln(s/k)
end.
Тестовое решение:
-0.00136006072493969
list = [] # создаём пустой лист
flag = 0 # переменная, которая будет чередоваться
for i in range(1, 16, 2): # диапазон от 1 до 15 с шагом в 2 числа
if flag == 0: # когда переменная равна 0 пишем положительное число
list.append(i)
flag = 1
else: # иначе отрицательное
list.append(-i)
flag = 0
print(list) # выводим результат на экран
Первую строку можно не писать.
Код без комментариев:
list = []
flag = 0
for i in range(1, 16, 2):
if flag == 0:
list.append(i)
flag = 1
else:
list.append(-i)
flag = 0
print(list)