Python - SUMAR ENTEROS

 
Vista:

SUMAR ENTEROS

Publicado por juan josé (2 intervenciones) el 12/10/2019 16:27:27
Hola a todos muy buenas tardes. Tengo un pequeño problema ya que el ejercicio me pide desarrollar una función llamada sum_ints que tome como parámetro una tupla con valores de diferentes tipos y devuelva la suma de los elementos de tipo int que haya en dicha tupla USANDO LA FUNCIÓN TYPE() que devuelve el TIPO de un OBJETO y no se como se usa dicha FUNCION

Por ejemplo:


Entra: (10, "Agua", 42, "Crack", 0, 8)

Devuelve: 10 + 42 + 8 = 60

main.py

1
2
3
4
5
import functions
 
t = (50,  "Futbol", 69, "Comida", 125.5, 82)
suma = functions.sum_ints(t)
print("la suma de los elementos de tipo int de la tupla es:", suma)
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

SUMAR ENTEROS

Publicado por juan josé (2 intervenciones) el 12/10/2019 19:20:39
Disculpa, en vez de sumar los números quería que la función devuelva True, si algún elemento de la tupla es de tipo str, o False, si no hay ningún elemento de tipo str en la tupla

Por ejemplo:

Entra: (10, "Pedro", 42, "Margarita", 18.5, 8)

Devuelve: True
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 algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

SUMAR ENTEROS

Publicado por algoritmo (245 intervenciones) el 12/10/2019 21:15:43
Hola.

Prueba con:

1
2
3
4
5
6
7
8
9
def hay_str(tupla):
    for elemento in tupla:
        if type(elemento) == type('a'):
            return True
    return False
 
tupla = (10, "Pedro", 42, "Margarita", 18.5, 8)
 
print hay_str(tupla)

Espero que te sirva :)
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: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

SUMAR ENTEROS

Publicado por tincopasan (1082 intervenciones) el 12/10/2019 21:21:13
hola:
ya sé que mis comentarios no gustan, y no me importa, por eso los sigo haciendo:
1)
1
LA FUNCIÓN TYPE() que devuelve el TIPO de un OBJETO y no se como se usa dicha FUNCION
está bien, todos necesitamos aprender, para eso python viene con una extensa documentación. y en cualquier buscador salen cientos de explicaciones
2)lo mejor para aprender no es esperar todo hecho sino intentar algo, aunque no funcione y ahí pedir ayuda.
3) en este caso es simple
1
2
3
4
5
6
7
8
9
10
Entra=(10, "Pedro", 42, "Margarita", 18.5, 8) #la declaración de la tupla
 
def cadena(tupla):         #con def creamos la función(con el nombre que quieras) y en el argumento le pasamos lo que necesitemos
    for x in tupla:               # con for recorremos cada elemento de la tupla en este caso  
        if type(x) == str:      #con la función type obtengo de que tipo es (entero,flotante o cadena) y la comparamos con el valor de cadena 
            return True         # devuelve Verdadero si hay coincidencia
    return False               # sino  hay cadenas devuelve Falso
 
 
print(cadena(Entra))    #llamamos a la función y le pasamos como parámetro la tupla     
4)esa es una forma, por supuesto no es la única ni la mejor.
Saludos.
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

SUMAR ENTEROS

Publicado por frank (1 intervención) el 12/10/2019 21:37:36
Muchísimas gracias por la ayuda tincopasan. Me ha ayudado bastante tu comentario. Busqué algo de información pero a la hora de programar el código lo poní de esta forma y me daba error:

1
2
if type(x) is str
 return True
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 katas
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

SUMAR ENTEROS

Publicado por katas (77 intervenciones) el 20/10/2020 08:01:12
Una posibilidad para sumar los elementos:

1
2
3
4
5
def sum_ints(tup):
    return sum(filter(lambda x: type(x)==int, tup))
 
t = (50,  "Futbol", 69, "Comida", 125.5, 82)
print (sum_ints(t)) # 201
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