elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]  (Leído 3,718 veces)
bichotg

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
« 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


Citar
Create 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
  1. def addNumbers(num):
  2.        total=0
  3.        for num in range(num+1):
  4.            total=total+num
  5.            return total


Saludos!!!
 


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
« Respuesta #1 en: 17 Febrero 2012, 03:49 am »

En realidad es muy sencillo:

Código:
contador = 1
total = 0
while contador <= num
{
    total = total + contador
    contador = contador + 1
}


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
« Respuesta #2 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  ;)
« Última modificación: 17 Febrero 2012, 14:14 pm por skapunky » En línea

Killtrojan Syslog v1.44: ENTRAR
bichotg

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
« Respuesta #3 en: 18 Febrero 2012, 01:26 am »

En realidad es muy sencillo:

Código:
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
  1. def addNumbers(num):
  2.    total=0
  3.    i=1
  4.    while i<=num:
  5.        total=total+i
  6.        i=i+1
  7.    return total


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
  1. def addNumbers(num):
  2. total = 0
  3. i = 1
  4. while

el principo que te marcan no se puede cambiar


Saludosss

En línea

0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: Sumar todos los numeros entre el 1 y el valor que le damos a la funcion [python]
« Respuesta #4 en: 19 Febrero 2012, 01:48 am »

En realidad es muy sencillo:

Código:
contador = 1
total = 0
while contador <= num
{
    total = total + contador
    contador = contador + 1
}
OFF: Tiempo sin saber de ti !

Código
  1. # -*- coding: utf-8 -*-
  2. addNumbers = lambda start, end: sum(range(start,end+1))
  3. print addNumbers(input("Inicio >>"),input("Fin >>"))
Eso con lambda() y con sum():
Código
  1. # -*- coding: utf-8 -*-
  2. def addNumbers(start, end):
  3.  return sum(range(start,end+1))
  4.  
  5. print addNumbers(input("Inicio >>"),input("Fin >>"))

Saludos :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines