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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

atorado con otro ejercicio.

Publicado por dario (185 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
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

atorado con otro ejercicio.

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
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 765
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

atorado con otro ejercicio.

Publicado por dario (185 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
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

atorado con otro ejercicio.

Publicado por Angel (1 intervención) el 11/07/2019 21:49:35
ya quedo, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar