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
| |-+  Scripting
| | |-+  suma de un entero en pyhon [RESUELTO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: suma de un entero en pyhon [RESUELTO]  (Leído 4,095 veces)
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
suma de un entero en pyhon [RESUELTO]
« en: 3 Febrero 2015, 21:09 pm »

Hola amigos, este es un nuevo problema que tengo que resolver, pero no tengo idea de como hacerlo.

Lo que tengo que hacer, si tengo este numero 1234

debe darme como resultado de la suma 10

Esto es porque previamente he dividido en secciones el numero, sumandose así:

1 + 2 + 3 + 4

Espero puedan ayudarme.

Gracias


« Última modificación: 5 Febrero 2015, 16:25 pm por Joe Fraddy » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: suma de un entero en pyhon
« Respuesta #1 en: 3 Febrero 2015, 21:18 pm »

con un ciclo lo resuelves...

el sumador lo haces
Código
  1. sumador = sumador + numero - (numero/10) * 10

la logica de eso es que si numero = 1234
sumador contiene el valor arrastrado
numero / 10 = 123 (porque no lleva decimales)
123 * 10 = 1230
1234 - 1230 = 4


y al final dejas numero en 123 haciendo lo mismo que en el primero paso

el ciclo lo repites mientras numero sea mayor a 0


« Última modificación: 3 Febrero 2015, 21:34 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: suma de un entero en pyhon
« Respuesta #2 en: 3 Febrero 2015, 23:07 pm »

No entendí mucho, el caso es que lo que tengo de código es esto:

Código
  1. def suma_de_digitos(n):
  2.    for l in n:
  3. #Aqui debe ir mi operacion
  4.  
  5.        print l
  6. r=raw_input('Introduce un numero: ')
  7. print suma_de_digitos(r)

Bueno eso pensado que recorriendo el valor n, no se si este bien de hecho
« Última modificación: 3 Febrero 2015, 23:09 pm por Joe Fraddy » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: suma de un entero en pyhon
« Respuesta #3 en: 3 Febrero 2015, 23:12 pm »

abre la consola de python y prueba lo sieguiente a ver si entiendes mi operacion

primero
Código:
>>> a = 1234
para tener a asignado

Código:
>>> a - (a/10) * 10
cuanto da esto?

Código:
>>> a = a/10
cuanto da esto?

esas ultimas 2 respuestas del codigo son utiles?

Código
  1. def suma_de_digitos(n):
  2.    for l in n:

eso está mal porque int no es un tipo iterable
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: suma de un entero en pyhon
« Respuesta #4 en: 3 Febrero 2015, 23:40 pm »

Perdona mi ignorancia, pero sigo sin entender, he probado con esto y me da error:

Código
  1. def suma_de_digitos(n):
  2.    while n > 0:
  3.        sumador = sumador + n - (n/10) * 10
  4.    print sumador
  5. r=raw_input('Introduce un numero: ')
  6. print suma_de_digitos(r)
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: suma de un entero en pyhon
« Respuesta #5 en: 3 Febrero 2015, 23:59 pm »

ahora aprendamos a leer los errores, que te dice el error?

Código:
UnboundLocalError: local variable 'sumador' referenced before assignment

y tu codigo

Código
  1. def suma_de_digitos(n):
  2.    while n > 0:
  3.        sumador = sumador + n - (n/10) * 10
  4.    print sumador

lo que basicamente quiere decir es que "sumador" en el while no existe... te lo sacaste del sombrero y la autoreferencias... tienes que declararla fuera del ciclo si quieres que tenga alcance

ahora veamos los otros errores...

error 1
funcion raw_input
Citar
If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that.

es decir toma lo que hay y lo entrega como string... pero eso no nos sirve necesitamos que sea tipo int...

funcion input
Citar
Return an integer object constructed from a number or string x, or return 0 if no arguments are given. If x is a number, it can be a plain integer, a long integer, or a floating point number. If x is floating point, the conversion truncates towards zero. If the argument is outside the integer range, the function returns a long object instead.

entrega lo que sea necesario...

entonces cambia raw_input por input

error 2
while va a ser un ciclo infinito (piensa por qué)

error 3
linea 6... vas a imprimir algo de la funcion, pero la funcion no retorna nada, así que imprimirás un "none"

« Última modificación: 4 Febrero 2015, 00:04 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Joe Fraddy

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: suma de un entero en pyhon[Resuelto]
« Respuesta #6 en: 5 Febrero 2015, 16:24 pm »

Bueno, me he puesto a investigar un poco mas sobre el asunto y he resuelto el problema, seguro hay mas formas de hacerlo, pero este fue el modo en que lo hice yo:

Código
  1. def suma_de_digitos(n):
  2.    list=[]
  3.    cont=0
  4.    lst=len(str(n))
  5.    while cont < int(lst):
  6.        list.append(n%10)
  7.        n=n//10
  8.        cont=cont+1
  9.    return sum(list)
  10. w=input("Ingresa un valor entero: ")
  11. print suma_de_digitos(w)

Gracias por sus respuestas, son de gran ayuda!!!
En línea

fary


Desconectado Desconectado

Mensajes: 1.084



Ver Perfil WWW
Re: suma de un entero en pyhon [RESUELTO]
« Respuesta #7 en: 5 Febrero 2015, 16:27 pm »

Lo has resuelto de la manera que te explicaron hace dos días, poco habrás tenido que investigar XD
En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como sumo los numeros de un entero hasta que me de "n" numeros (Resuelto) « 1 2 »
Programación C/C++
¡Micronet! 18 10,933 Último mensaje 16 Noviembre 2010, 00:26 am
por ¡Micronet!
[Pyhon] Problema con operadores
Python
kerith 6 3,837 Último mensaje 5 Enero 2011, 17:16 pm
por braulio--
Duda con suma de vectores !Resuelto!
Programación C/C++
Fire544 0 1,754 Último mensaje 27 Julio 2012, 15:25 pm
por Fire544
¿Como realmente se utiliza la programacion Pyhon y C++?
Programación General
Bomb-P 4 2,666 Último mensaje 27 Agosto 2012, 04:48 am
por Bomb-P
Wordlist Pyhon
Scripting
AngelFire 5 3,628 Último mensaje 8 Octubre 2017, 22:21 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines