Внутри функции вызывается ввод трех чисел со строки, затем из этих чисел составляется список, затем формируется список из всех элементов исходного списка, которые больше нуля, в итоге выводится длина получившегося списка. Мне не хотелось использовать различные счетчики и if-elif, поэтому решение такое.
def func():
a = int(input())
b = int(input())
c = int(input())
numbers = [a, b, c]
return len([number for number in numbers if number > 0])
func()
Можно еще изменить решение так, чтобы введенные числа сразу отправлялись в список.
def func():
numbers = []
for i in range(3):
numbers.append(int(input()))
return len([number for number in numbers if number > 0])
func()
<span>var s,k: integer;
// описали переменные, которые будут использованы в программе: s и k целые числа
begin
s:= 500;
// переменной s присвоили начальное значение 500
for k:= 4 to 10 do
// организовали цикл для k от 4 до 10 с шагом 1. То есть нижеследующий оператор цикла будет выполняться 7 раз (для k=4, k=5, k=6, ... k=10)
s:= s - 2*k;
// для каждого k поочередно считаем s:
// k=4 -- s=500-2*4=492
// k=5 -- s=492-2*5=482
</span>// k=6 -- s=482-2*6=470
// k=7 -- s=470-2*7=456
// k=8 -- s=456-2*8=440
// k=9 -- s=440-2*9=422
// k=10 -- s=422-2*10=402<span>
write (s);
// выводим на экран итоговое значение s: 402
end.</span>
Процессор предназначен для обработки данных и управления работой компьютера
P.S ( Ставь лучший ответ ;) Спасибо )
<h3>PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018</h3>
function ReadWhileSum(cond: integer->boolean): sequence of integer;
begin
var s := 0;
while True do
begin
var x := ReadInteger();
s += x;
if not cond(s) then break;
yield x;
end;
end;
begin
Println('Сред. арифм. =',ReadWhileSum(sum -> sum < 150)
.Where(t->t.IsEven).Average);
end.
В созвездии Малая Медведица 7 звёзд самая яркая из них Полярная звезда.