Iniciar sesión Crear cuenta # Python - Calcular la media de los numeros no negativos de una lista

Vista:

## Calcular la media de los numeros no negativos de una lista

Publicado por Angel (7 intervenciones) el 09/07/2019 03:46:44
Hola,

llevo rato rompiendome la cabeza con este ejercicio:

you are asked to write a program that calculates the average of the non-negative numbers in a list, i.e., the numbers greater than or equal to 0.

lo más cerca que tengo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
```def test() : # do not change this or the next line!
```
`  numbers = [11.5, 28.3, 23.5, -4.8, 15.9, -63.1, 79.4, 80.0, 0, 67.4, -11.9, 32.6]`
`  average = 0`
`  num = len(numbers)`
`  for item in numbers:`
`    if item >= 0 :`
`      suma = sum(numbers)`
`      break`
`   while average < num :`
`     print numbers(average)`
`     average += 1`
` `
`  print(average)`
```  return average # do not change this line!
```
`  # do not write any code below here`

pero me sigue marcando

1
2
3
4
`Error on line 10:`
`    contar = len(numbers)`
`         ^`
`IndentationError: expected an indented block`

lo he probado con otros comandos pero me hace el promedio de todo, no solo de los numeros positivos

¿alguien que me pueda echar la mano? y si es de la ciudad de México incluso concertar una asesoria.

Gracias
Valora esta pregunta  0 Val: 280  Publicado por dario (77 intervenciones) el 09/07/2019 05:00:48
Hola, prueba con esto.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
```def test() : # do not change this or the next line!:
```
`  numbers = [11.5, 28.3, 23.5, -4.8, 15.9, -63.1, 79.4, 80.0, 0, 67.4, -11.9, 32.6]`
`  average = 0`
```  x = sum = 0 #x = contador de numeros positivos
```
`  for item in numbers:`
`    if item >= 0:`
`      sum = sum + item`
`      x += 1`
` `
`  average = sum /x`
```  return average # do not change this line!
```
` `
```#Main
```
`print(test())`
```# do not write any code below here
```
Valora esta respuesta  0

Publicado por Angel (7 intervenciones) el 09/07/2019 15:26:04
Muchas gracias, el valor sigue sumando todos los numeros y solo me piden los numeros negativos.

me mando este error:
Return value is incorrect. Be sure that the average only includes non-negative values.

¿como podría integrar el if y el while para que salga esta operacion?

de verdad gracias por tu apoyo
Valora esta respuesta  0 Val: 280  Publicado por dario (77 intervenciones) el 10/07/2019 05:31:50
Hola, el codigo q te deje calcula el promedio de los numeros no-negativos (numeros >=0). El codigo no me da ningun error.

Si quieres q solo calcule el promedio de los numeros negativos, cambia la linea 6 por esta otra:

if item < 0:

Salu2
Valora esta respuesta  0  