Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: bichotg en 16 Febrero 2012, 22:21 PM

Título: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
Publicado por: bichotg en 16 Febrero 2012, 22:21 PM
Hola !!

Haber si me podéis echar una mano con este ejercicio que estoy atascado y no doy con la solución


CitarCreate a function addNumbers(x) that takes a number as an argument and adds all the integers between 1 and the number (inclusive) and returns the total number.

Examples

>>> addNumbers(10)
55
>>> addNumbers(1)
1


Y empieza asi el ejercicio :

def addNumbers(num):
total = 0
i = 1
while


Conozco el ciclo indefinido while, pero no logro tener una idea para aplicarlo, he echo el ejercicio usando for sin problema, pero tiene que ser con while

   
Código (python) [Seleccionar]
def addNumbers(num):
        total=0
        for num in range(num+1):
            total=total+num
            return total



Saludos!!!
Título: Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
Publicado por: leogtz en 17 Febrero 2012, 03:49 AM
En realidad es muy sencillo:

contador = 1
total = 0
while contador <= num
{
    total = total + contador
    contador = contador + 1
}
Título: Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
Publicado por: skapunky en 17 Febrero 2012, 14:13 PM
Tu programa es muy sencillo, puedes hacer un bucle, aunque sabiendo matematicas tiene una solución mucho mas sencilla. Fijate en lo siguiente, puedes hacer el programa en una sola línea:

Entiendo que quieres sumar los primeros N numeros, donde 1+2+...+(N-1)+N

Usa la formula:

Resutado sumatorio = (N*(N+1))/ 2


Fuck yeah, una sola línea sabiendo matemáticas  ;)
Título: Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
Publicado por: bichotg en 18 Febrero 2012, 01:26 AM
Cita de: Leo Gutiérrez. en 17 Febrero 2012, 03:49 AM
En realidad es muy sencillo:

contador = 1
total = 0
while contador <= num
{
    total = total + contador
    contador = contador + 1
}


Perfecto Leo!!! ahora lo entendi bien gracias a tu respuesta, tu lo escribes en C? o en otro lenguaje verdad? lo digo por el '}',

mira al final lo ice asi:

Código (python) [Seleccionar]
def addNumbers(num):
    total=0
    i=1
    while i<=num:
        total=total+i
        i=i+1
    return total



Cita de: skapunky en 17 Febrero 2012, 14:13 PM
Tu programa es muy sencillo, puedes hacer un bucle, aunque sabiendo matematicas tiene una solución mucho mas sencilla. Fijate en lo siguiente, puedes hacer el programa en una sola línea:

Entiendo que quieres sumar los primeros N numeros, donde 1+2+...+(N-1)+N

Usa la formula:

Resutado sumatorio = (N*(N+1))/ 2


Fuck yeah, una sola línea sabiendo matemáticas  ;)


Sabes que pasa que son ejercicios y me marcan el principio y el ejercicio empezaba asi:

Código (python) [Seleccionar]
def addNumbers(num):
total = 0
i = 1
while


el principo que te marcan no se puede cambiar


Saludosss

Título: Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
Publicado por: 0x5d en 19 Febrero 2012, 01:48 AM
Cita de: Leo Gutiérrez. en 17 Febrero 2012, 03:49 AM
En realidad es muy sencillo:

contador = 1
total = 0
while contador <= num
{
    total = total + contador
    contador = contador + 1
}

OFF: Tiempo sin saber de ti !


Código (python) [Seleccionar]

# -*- coding: utf-8 -*-
addNumbers = lambda start, end: sum(range(start,end+1))
print addNumbers(input("Inicio >>"),input("Fin >>"))

Eso con lambda() y con sum():
Código (python) [Seleccionar]

# -*- coding: utf-8 -*-
def addNumbers(start, end):
  return sum(range(start,end+1))
 
print addNumbers(input("Inicio >>"),input("Fin >>"))


Saludos :D