Python - Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

 
Vista:

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Ani (1 intervención) el 19/05/2018 02:29:35
Dado un numero entero de dos cifras ingresado por teclado, escribir un programa en
python USANDO INPUT para sumar las cifras y muestre el resultado por pantalla.
Ejemplos:

Ingrese Número: 37
//OSEA, 3+7=10//
La suma de las cifras es: 10

Ingrese Número: 10
1+0=...
La suma de las cifras es: 1
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

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por dario (60 intervenciones) el 19/05/2018 05:51:08
Te dejo esto, espero te sirva.

1
2
3
4
num = input('Ingrese numero de dos cifras:')
suma = int(num[0]) + int(num[1])
 
print('La suma de las cifras es %s' %suma)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Miguel (8 intervenciones) el 23/05/2018 15:03:07
La solución aportada por dario [email protected] e parece que no funcionará. En caso de introducir un número negativo, se producirá un error porque num[0] será el signo "-" que no se puede colocar como argumento del método "int".

En su lugar yo propongo la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
try:
    num = int(input('Ingrese numero de dos cifras:'))
    numero = str(num)
    if len(numero) > 2:
        sumando1 = int(numero[0]+numero[1])
        sumando2 = int(numero[2])
    else:
        sumando1 = int(numero[0])
        sumando2 = int(numero[1])
    print('La suma de los dígitos es: {0}'.format(sumando1 + sumando2))
except ValueError:
    print('el número no vale')

Esta creo que si funciona, por si le vale de algo.
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
Imágen de perfil de Leopoldo M.

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Leopoldo M. (3 intervenciones) el 24/05/2018 19:50:59
Yo lo he hecho así y me funciona:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
# dado un numero de dos cifras
# sumar las unidades y las decenas
 
# declaración de variables
numero = 0
unidades = 0
decenas = 0
auxiliar = 0
resultado = 0
 
# cuerpo del programa
numero=input("introduce un numero de dos dígitos: ")
numero=int(numero)
if numero > 99:
    print("MACHO TE HAS PASAO!!!")
else:
    # descomponemos el numero en unidades y decenas
    decenas = numero // 10
    auxiliar = decenas * 10
    unidades = numero - auxiliar
    # calculamos la suma
    resultado = unidades + decenas
    print("resultado: ", resultado)
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
Imágen de perfil de Leopoldo M.

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Leopoldo M. (3 intervenciones) el 24/05/2018 20:27:09
EL IF - ELSE NO SE HA SUBIDO BIEN!!!
AHI QUE INDENTAR LAS LINEAS: 18 Y DE LAS 20 A LA 26
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

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por dario (60 intervenciones) el 25/05/2018 05:10:43
Hola, tienes un pequeno error en tu codigo. Si ingresas -48 el resultado deberia ser -4+8 = 4, pero ejecutando tu codigo me da -12.
Solo tienes que agregar en la linea resultado lo siguiente: resultado = abs(unidades) + decenas.
Saludos.
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

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Leopoldo M. (1 intervención) el 25/05/2018 15:05:10
Si introduzco un numero de dos cifras y quiero sumar esas dos cifras YO pienso que queremos sumar las cifras, no entiendo el comentario del signo -48 = -4 + 8 ?? Yo he entendido que se quiere sumar los dígitos SIN SIGNO, y así lo he hecho.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# dado un numero de dos cifras
# sumar las unidades y las decenas
# versión 2.0
# importamos lo que necesitamos:
import time
 
# declaración de variables
numero = 0
unidades = 0
decenas = 0
auxiliar = 0
resultado = 0
control = True
 
# esta función comprueba que la entrada NO
# contenga caracteres
def ctrl_numero(numero):
        control=numero.isdigit()
        if control == False:
            print(" ERROR - NO HAS INTRODUCIDO UN NUMERO ")
            print(" EL PROGRAMA TERMINA AQUI....")
            time.sleep( 5 )
            exit(0)
        else:
            numero=(int(numero))
        return numero
 
# cuerpo del programa
numero=input("introduce un numero de DOS DÍGITOS: ")
 
# quitamos el signo "-" si existe
numero=numero.lstrip("-")
 
# llamamos a la función definida ctrl_numero
ctrl_numero(numero)
 
# convertimos str a int
numero=(int(numero))
 
# comprobamos que no tenga más de dos caracteres
if numero > 99:
    print("MACHO TE HAS PASAO!!!")
else:
    # descomponemos el numero en unidades y decenas
    decenas = numero // 10
    auxiliar = decenas * 10
    unidades = numero - auxiliar
    # calculamos la suma
    resultado = unidades + decenas
    print("resultado: ", resultado)
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

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por dario (60 intervenciones) el 25/05/2018 15:50:20
Hola Miguel, el enunciado no dice que deben ser negativos, yo asumo que son numeros sin signo los que se quieren sumar.
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

Dado un numero entero de dos cifras ingresado por teclado devolver la suma de los mismos

Publicado por Miguel (8 intervenciones) el 25/05/2018 22:58:55
Hola, Darío.

Efectivamente, debemos sumar los dígitos del número introducido. Pero los enteros son positivos y negativos, por lo que debemos considerar la posibilidad de que se introduzca un negativo al no estar excluído en el problema.

En ese caso, al convertir el número en cadena, numero[0] será el signo y no el dígito, con lo que la función lanzarà una excepción.

A partir de eso, si se quiere tener en cuenta el signo, se opera como está la función y si no se quiere el signo, se sumará numero[1] + numero[2]

Un saludo.
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