с задачей
Первый тест вроде работает, а второй нет
Что здесь не так? Почему не решает? Чего возможно не хватает?
Вот сам код:
def IsPrime(n):
if n % 2 == 0:
return n == 2
d = 3
while d * d <= n and n % d != 0:
d += 2
return d * d > n
b = (int(input()))
a = [i for i in map(int, input().split())]
k = 0
sum = 0
for i in range(len(a)-1):
if IsPrime(a[i]) is True:
sum = sum + a[i]
k=k+1
print(float(sum/k))
data = [
['Ухмыляюсь', 2.26, 1.02, 87.3],
['Сияю от радости', 19.1, 1.69, 150.0],
['Катаюсь от смеха', 25.6, 0.774, 0.0],
['Слёзы радости', 233.0, 7.31, 2270.0],
['Подмигиваю', 15.2, 2.36, 264.0],
['Счастлив', 22.7, 4.26, 565.0],
['Глаза-сердца', 64.6, 11.2, 834.0],
['Целую', 87.5, 5.13, 432.0],
['Задумчивость', 6.81, 0.636, 0.0],
['Равнодушие', 6.0, 0.236, 478.0],
['Солнечные очки', 4.72, 3.93, 198.0],
['Громко плачу', 24.7, 1.35, 654.0],
['След от поцелуя', 21.7, 2.87, 98.7],
['Два сердца', 10.0, 5.69, 445.0],
['Сердце', 118.0, 26.0, 1080.0],
['Червы', 3.31, 1.82, 697.0],
['Класс', 23.1, 3.75, 227.0],
['Пожимаю плечами', 1.74, 0.11, 0.0],
['Огонь', 4.5, 2.49, 150.0],
['Переработка', 0.0333, 0.056, 932.0]
]
sum_emojixpress = 0
sum_instagram = 0
sum_twitter = 0
for row in data:
sum_emojixpress += row[1]
emojixpress_mean = sum_emojixpress / len(data)
for row in data:
sum_instagram += row[2]
instagram_mean = sum_instagram / len(data)
for row in data:
sum_twitter += row[3]
twitter_mean = sum_twitter / len(data)
print('Среднее для EmojiXpress: {:.2f}'.format(emojixpress_mean))
print('Среднее для Instagram: {:.2f}'.format(instagram_mean))
print('Среднее для Твиттера: {:.2f}'.format(twitter_mean))
Объяснение:
объяснение в ответе
uses crt;
Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;
Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1)
then
Writeln('Ошибка, указанные значения выходят за пределы матрицы') else
Begin
Writeln('Введите элементы матрицы');
k:=0;
for i:=1 to N do
for j:=1 to M do
Begin
readln(mas[i,j]);
if (mas[i,j] mod 2 = 0) then k:=k+1;
end;
Writeln();
Writeln('Исходная матрица');
for i:=1 to N do
Begin
for j:=1 to M do
Begin
Write(mas[i,j], ' ')
end;
Writeln();
end;
Writeln();
Writeln('Количество четных элементов = ',k);
end;
readln;
end.