Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda en python

calzones

Bovino maduro
Desde
23 Nov 2007
Mensajes
163
Buenas tengo una duda, estoy ejecuntando las siguientes lineas de comando pero algo sucede que no me realiza la sumatoria, acá les dejo el código:

def sumatoriaAsc(num):
result=0
ind=0
while ind<=num:
result=result+ind
ind=ind+1
return result


al momento de ejecutarlo no me indica errores pero tengo la duda si debe de sumar o solo ejecutarse, es una tarea de deteccion de errores, ya los detecté pero no me ejecuta o es que no ejecuta la suma?
 
Acuerdate que en python valen las tabulaciones debe quedar asi:
Código:
def sumatoriaAsc(num):
	result=0
	ind=0
	while ind<=num:
		result = result + ind
		ind=ind+1
	return result
 
El código es un poco raro.

No se nada sobre phyton pero sintácticamente en seudocódigo estaría mal. Faltaría un Fin del while debajo de ind=ind+1 y debajo debería ir el return result incluso debajo de este último debería ir el fin def_sumatoriaAsc. Desconozco si las funciones en phyton tienen cierres pero el resto tiene lógica que lo tengan.

Supongo que lo que quieres hacer es esto en seudocódigo.
Código:
Funcion sumatorioAsc(num)
  result=0
  ind=0
        Mientras ind <= num entonces
             result=result+ind
             ind=ind+1
        Fin_Mientras
  devolver result
Fin Funcion_sumatorioAsc()

Creo que en phyton se haría así. El espacio en blanco entre ind y return según los ejemplos que he visto parecen ser el fin del while.

def sumatoriaAsc(num):
	result=0
	ind=0
	while ind<=num:
		result = result + ind
		ind=ind+1

	return result
 
Si te das cuenta 'ind' y 'result' son 0(cero) porque tú así los definiste.
Ahora, lo que veo es que nunca estas sumando 'num'…siempre solo sumas 'ind' + 'result' lo cual los dos SIEMPRE son 0(cero) e ahí tu problema…no importa que le pongas a 'num'…tu resultado será 0(cero).
"result = result + ind" que es lo mismo que esto "result = 0 + 0"
Y quiere decir que 'result' siempre será un 0(cero).

Creo que lo que quieres hacer es sumar 'ind' + 'num' lo que te daría algún resultado dependiendo de lo que pongas en 'num'.
"result = num + ind"

Creo que lo que quieres es algo más o menos así (modificado a mi manera):

Código:
def sumatoriaAsc(num):
     result = 0
     ind = 0
     while (ind <= num):
          print "El resultado es = ", num + ind
          ind = ind + 1
 
sumatoriaAsc(5)
 
hey pura vida a todos!!! apenas llego a la casa lo reviso, justamente estoy en clases de python. luego les cuento como me fue
 
Algo tarde pero si quieres hacerlo un poco mas pythonesco creo que seria algo asi

Código:
def sumatoriaAsc(num):
    result=0
    for x in range(1,num+1):
        result+=x
    return result

Saludos!
 
la indentacion es muy importante en python por lo regular cuando terminas de declarar una funcion :(enter) te manda a la siguiente linea con su respectiva indentacion
 
Volver
Arriba