No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Afirmaciones

30/31
Recursos

Aportes 216

Preguntas 12

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Para un mejor manejo 馃槂

def primera_letra(lista_palabras):
    primeras_letras = []
    
    for palabra in lista_palabras:
        try:
            assert type(palabra) == str, f'{palabra} no es String'
            assert len(palabra) > 0 , 'No se permiten vacios'
            primeras_letras.append(palabra[0])
        except AssertionError as e:
            print(e)

    return primeras_letras


lista = ['Angelo',5.5, '', 2 , '43952353', 0.35]
print('Primeras letras validas son : ' , primera_letra(lista))

Afirmaciones
Las afirmaciones son un mecanismo en la que podemos determinar si una afirmaci贸n se cumple o no se cumple y poder seguir adelante con la ejecuci贸n de nuestro programa o darle t茅rmino.

Las afirmaciones es un m茅todo de programaci贸n defensiva, esto significa que nos estamos preparando para verificar que los tipos de inputs de nuestro programa es del tipo que nosotros esperamos. Estos tambi茅n nos sirven para debuggear.

Para realizar una afirmaci贸n en nuestro programa lo hacemos con la expresi贸n assert <expresion booleana>, <mensaje de error>.

def primera_letra(lista_de_palabras):
    primeras_letras = []

    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} no es str'
        assert len(palabra) > 0, 'No se permiten str vacios'

        primeras_letras.append(palabra[0])

    return primeras_letras

Este curso lo tom茅 a manera de reforzar conceptos de Python. Este concepto nunca lo he escichado y espro pronto poder aplicarlo. 馃槃

Afirmaciones


Es un mecanismo por el cu谩l podemos determinar si una funci贸n se cumple o no se cumple. Y poder seguir adelante con la ejecuci贸n de nuestro programa o terminar dicha ejecuci贸n.

  • Programaci贸n defensiva
  • Pueden utilizarse para verificar que los tipos sean correctos en una funci贸n.
  • Tambi茅n sirven para debuguear.

Para generarlas tenemos que utlizar el keyword assert y dar una expresi贸n boleana y un mensaje de error

def primera_letra(lista_palabras):
    primeras_letras = []
    
    for palabra in lista_palabras:
        try:
            assert type(palabra) == str, f'{palabra} no es String'
            assert len(palabra) > 0 , 'No se permiten vacios'
            primeras_letras.append(palabra[0])
        except AssertionError as e:
            print(e)

    return primeras_letras

No tenia conocimiento de la existencia de los assert, sin embargo hacia algo muy parecido cuando programaba PLC ya que tenia que hacer condiciones de seguridad que previnieran un error en la ejecuci贸n de la tarea.

Sobre programaci贸n defensiva encontr茅 esta entrada que me pareci贸 bien estructurada:

https://aslisach.in/2019/what-is-defensive-programming/

Que incre铆ble clase, jamas sabia escuchado de los (assert) , pero creo que de ahora en adelante voy a utilizarlos muchos.
Por eso es que repito, que aun siendo un veterano en algo, es bueno ver como lo miran los principiantes para aprender cosas nueva.

Si la condicion del assert es falsa nos arroja un error y el programa se detiene si no lo capturamos con

try:
     <code conflictivo> 
except Exception:
     <codigo manejador> 

Si no lo detecta sigue con su vida. : )

WOW python es realmente incre铆ble, bueno con los assert nunca lo he utilizado porque es mi primera vez que escribo en este lenguaje pero me parece fascinante todo lo que estoy aprendiendo de python.

Yo ya hac铆a esto pero desconoc铆a assert, me ahorraste muchas lineas de c贸digo en el futuro 馃槃

Ya casi te tengo Data Tree Gardener 馃槃

Me explicaron esto en el 2006, no lo llamaron programaci贸n defensiva era solamente estar atento a que el usuario no nos enga帽ara mandando inputs extra帽os y buggeando el programa.

Nunca escuche del keyword 鈥榓ssert鈥 ya que soy nuevo en la programaci贸n. pero es una forma muy interesante de 鈥榗ontrolar鈥 nuestro c贸digo o programa

Hemos usado el sistema de afirmaciones pero por el lado de PHP a trav茅s del framework Laravel usando las validaciones en peticiones (requests) Http que llegan al backend.

https://laravel.com/docs/7.x/validation

Ejercicio resuelto aplicando afirmaciones

驴Podr铆a decir que assert es equivalente a una validaci贸n?

La declaraci贸n de afirmaci贸n de Python es una ayuda de depuraci贸n, no un mecanismo para manejar errores de tiempo de ejecuci贸n. El objetivo de usar aserciones es permitir que los desarrolladores encuentren la causa ra铆z probable de un error m谩s r谩pidamente.

No use antes los assert pero me parece una herramienta muy buena inclusive, como dec铆a David, para enfrontar bugs!

Afirmaciones:

  • Verificamos una condicion a partir de la cual decidimos si terminamos el programa o continuamos con la ejecucion
  • Metodo de programacion defensiva
  • Sirven para debuguear

En esta pagina puedes encontrar ejemplos con los que puedes interactuar sobre este tema.
https://www.w3schools.com/python/ref_keyword_assert.asp?msclkid=92071a35ac7611ec9bfb3a726660c3d0

Otras funcionalidades del assert son:

  • Su uso en testing.
  • Su uso en funciones (como el ejemplo que vimos).
  • Su uso en clases.

Assert es equivalente a

if __debug__:
    if not condition:
        raise AssertionError(message)

Cuando se prepara el c贸digo para producci贸n ya no existe. 脡sa es la diferencia con raise
Lo le铆 aqu铆

C贸digo que utilic茅 en Visual.

def primera_letra(lista_de_palabras):
    primeras_letras = []

    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} no es de tipo str'
        assert len(palabra) > 0, 'No se permiten str vacios'

        primeras_letras.append(palabra[0])

    return primeras_letras


lista = ['hola', 'que', 'hace']
palabras = list(primera_letra(lista))
print(palabras)```

Para convertir cada primera letra en mayuscula:

def primera_letra(lista_de_palabras):
    primeras_letras = []
    
    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} no es str'
        assert len(palabra) > 0, 'no se permiten srt vacios'
        
        primeras_letras.append(palabra[0].capitalize())
            
    return primeras_letras

Afirmaciones:
*Programaci贸n defensiva.
*Pueden utilizarse para verificar que los tipos sean correctos en una funci贸n.
*Tambi茅n sirven para debuguear.

ejemplo:
assert <expresi贸n booleana>, <mensaje de error>

assert numero>0, 鈥渆l n煤mero no es mayor que cero鈥
.
Si cumple la condici贸n NO muestra nada.
Si NO cumple la condici贸n muestra el mensaje.

Primera vez que escucha assert.


def primera_letra_enlista(lista_de_palabras):
    primeras_letras=[]

    for palabra in lista_de_palabras:
        assert type(palabra)==str, f'{palabra} no es str'
        assert len(palabra)>0, 'No se permiten str vacios'

        primeras_letras.append(palabra[0])

    return primeras_letras```

Nunca dejes de Aprender

Nunca hab铆a escuchado hablar de assert鈥ero excelente saber t茅cnicamente para que se utiliza.

afirmaciones es programaci贸n defensiva poner trabas en los imputs

primera vez que escucho de ellos pero me parecen muy 煤tiles para complementar lo que hemos aprendido!

# -*_ coding:utf-8 -*-

lista_palabras = []
lista_primeras_letras = []

for i in range(5):
    word=input('Escribi una palabra: ')
    lista_palabras.append(word)
    

for palabra in lista_palabras:
    assert type(palabra) == str, f'{palabra} no es str'
    assert len(palabra) > 0, 'No se permiten str vacios'

    lista_primeras_letras.append(palabra[0])

print(lista_palabras,lista_primeras_letras)

Una forma m谩s sencilla que utilizar los 鈥渋f鈥

Ac谩 mi c贸digo de esta clases!

def primera_letra(lista_de_palabras):
    primeras_letras = []
    
    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} no es str'
        assert len(palabra) > 0, 'no se permiten srt vacios'
        
        primeras_letras.append(palabra[0])
            
    return primeras_letras

if __name__ == '__main__':
    hola = 'hola'
    lista_de_palabras = [hola]
    
    print(primera_letra(lista_de_palabras))

Tercera prueba: ingresando una lista con palabras adecuadas a las condiciones.

Para que funcionara correctamente se adiciono un try: except.

def es_String(lista_palabras):
    primeras_letras = []
    
    for palabra in lista_palabras:
        try:
            assert type(palabra) == str, f'{palabra} no es un string.'
            assert len(palabra) > 0, 'No se permiten string vacios.'
            
            primeras_letras.append(palabra[0])
        
        except AssertionError as e:
            print(e)
    
    return primeras_letras

lista = [1, 'Colombia', '', '986549', 986549, 'Pais']

print(es_String(lista))

para no interrumpir el flujo de ejecuci贸n y un mejor manejo.

Los asserts en Python son declaraciones que se utilizan para verificar suposiciones en el c贸digo. Sirven para verificar que una determinada condici贸n sea verdadera y, de lo contrario, lanzar谩n una excepci贸n AssertionError si la condici贸n es falsa. Los asserts se utilizan principalmente para realizar pruebas y depuraci贸n en el c贸digo.

La sintaxis b谩sica de un assert en Python es la siguiente:

assert condici贸n, mensaje_de_error

La condici贸n es una expresi贸n que se eval煤a como verdadera o falsa. Si la condici贸n es falsa, se lanza una excepci贸n AssertionError y se muestra el mensaje de error opcional que se proporciona. Si la condici贸n es verdadera, el programa contin煤a su ejecuci贸n normalmente.

Los asserts son 煤tiles durante el desarrollo de software para detectar errores y verificar suposiciones en el c贸digo. Pueden ayudar a identificar r谩pidamente problemas y asegurarse de que el programa se est谩 ejecutando como se espera. Los asserts tambi茅n pueden servir como documentaci贸n dentro del c贸digo, al indicar suposiciones importantes sobre el estado o el comportamiento de un programa en puntos clave.

Colocando en pr谩ctica en varios escenarios lo entend铆 mejor.

30. Afirmaciones

  • Programaci贸n defensiva
  • Pueden utilizarse para verificar que los tipos sean correctos en una funci贸n
  • Tambi茅n sirven para debuguear
# assert <expresion booleana>, <mensaje de error>

def primera_letra(lista_de_palabras):
    primeras_letras = []

    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} no es str'
        assert len(palabra) > 0, 'No se permiten str vacios'

        primeras_letras.append(palabra[0])

    return primeras_letras
Llevo a帽os programando en python y aunque si los hab铆a visto en otros c贸digos nunca me detuve a entender su funcionalidad, y ahora en este curso digo wow cuanto me habr铆an servido en diversos c贸digos. A Usarlos!!!!!

Afirmaciones (assert)

Una palabra clave para confirmar la veracidad de una declaraci贸n dada que se utiliza a menudo para facilitar el desarrollo, documentar c贸digo y depurar.

Sintaxis

 assert alguna_condicion, assert_mensaje

La palabra clave assert va seguida de alguna_condicion a comprobar, como la validaci贸n de un tipo de datos o la pertenencia a un contenedor determinado. Se puede a帽adir un mensaje assert_mensaje opcional que se imprimir谩 cuando se produzca el error de aserci贸n (AssertionError).

color_favorito = 'azul'

assert color_favorito == 'rojo'
#Salida: AssertionError

Ejemplo Codebyte

El siguiente ejemplo utiliza assert para evaluar si 鈥榖arro鈥 est谩 dentro de la siguiente lista cosas_que_flotan:

cosas_que_flotan = ['pan', 'manzanas', 'rocas']

assert 'barro' in cosas_que_flotan, "Esta cadena no est谩 presente en la lista"	


#Mensaje de consola
Traceback (most recent call last):
File "main.py", line 3, in <module>
assert 'barro' in cosas_que_flotan, "La cadena no est谩 presente en la lista"
AssertionError: La cadena no est谩 presente en la lista

Importante

Esto lo tome de la pagina de codecademy, traduje lo que est谩 en ingl茅s. Si hay algun erro en el c贸digo pido disculpas. Estoy aprendiendo a programar, este es un peque帽o aporte. Si hay alguna correcci贸n, h谩ganmelo saber as铆 modifico el comentario.

Fuente: [](url https://www.codecademy.com/resources/docs/python/assert)

Saludos y Nunca pares de aprender! 馃

Afirmaciones en Python


Las afirmaciones o asserts en Python son una forma de asegurarse de que ciertas condiciones sean verdaderas en el c贸digo en tiempo de ejecuci贸n. B谩sicamente, es una manera de verificar que algo es cierto y si no lo es, se lanza una excepci贸n AssertionError.
.
En Python, una afirmaci贸n se escribe utilizando la palabra clave assert, seguida de una expresi贸n booleana. Si la expresi贸n es verdadera, no sucede nada y el programa contin煤a normalmente. Si la expresi贸n es falsa, se lanza una excepci贸n AssertionError con un mensaje opcional.

#Afirmaciones en Python

def primera_letra(lista_palabras):
    '''
    Retorna la primera letra de cada string en una lista.

    Args:
    lista_palabras (list): Lista de palabras.

    Returns:
    primeras_letras (list): Lista de las primeras letras en cada string de la lista_palabras.
    '''
    primeras_letras = []

    for palabra in lista_palabras:
        try:
            # Verifica que palabra sea un string
            assert type(palabra) == str, f'{palabra} no es String'
            # Verifica que el string no est茅 vac铆o
            assert len(palabra) > 0, 'No se permiten String vacios'
            # Agrega la primera letra a primeras_letras
            primeras_letras.append(palabra[0])
        except AssertionError as e:
            # Si falla la afirmaci贸n, imprimir mensaje de error
            print(e)
    
    return primeras_letras

lista = ['Angelo', 5.5, '', 2, '45648721', 0.35, False]
print(f'Primeras letras validas son: {primera_letra(lista)}'
assert <expresi贸n booleana>, <mensaje de error>

afirmaciones- mecanismo para verificar si una condici贸n se cumple o no se cumple, y seguir adelante con la ejecuci贸n, o no.

M茅todo de programaci贸n defensiva- ver si los inputs de las funciones, lo hace de manera correcta. Los resultados dependen de que los inputs sean correctos.

Afrimaciones sirven para debuggear.

Afirmaciones

  • Programaci贸n defensiva
  • Pueden utilizarse para verificar que los tipos
    sean correctos en una funci贸n
  • Tambi茅n sirven para debuguear
def primera_letra(lista_de_palabras):
    primeras_letras=[]

    for palabra in lista_de_palabras:

        assert type(palabra) == str, f'{palabra} no es str'
        assert len(palabra) > 0, 'No se permiten str vacios'

        primeras_letras.append(palabra[0])
    return primeras_letras

lista_de_palabras=['Santiago', 'Victor']
print(primera_letra(lista_de_palabras))

Manejo de excepciones para nuestra funcion de calculo de numeros factoriales:

def factorial(numbers):
    '''
    Descripcion funcion:
    Esta funcion es para calcular numeros factoriales con python.
    
    numbers es la variable que va a indicar el usuario con su imput
    
    si numbers > 0 esta funcion aplica recursividad para calcular su factorial
    
    se puede cambiar el limite de recursividad de 1000 a otro con:
    import sys
    sys.setrecursionlimit(2000)
    '''
    print(numbers)
    if numbers == 0:
        print('Factorial de 0 es un producto vac铆o y por convenci贸n es: ')
        return 0
    elif numbers == 1:
        return 1
    elif numbers > 999:
        return print('La recursividad en python es valida hasta 1000, esto nos limita.')
    elif numbers > 1:
        return numbers * factorial(numbers-1)
    else:
        return print('Indique solo numeros positivos, vuelva a correr el programa.')
    
if __name__ == '__main__':
    # unittest.main(argv=['ignored', '-v'], exit=False) 
    # res = unittest.main(argv=[''], verbosity=3, exit=False)
    try:
        print(factorial(int(input('Indica un numero para calcular su factorial: '))))
    except ValueError as e:
        print(f'''Tienes un error del tipo:
"{e}"
Ingresa un valor numerico del tipo entero para poder calcular su factorial
''')  

En la siguiente pagina pueden encontrar ejemplos, ejercicios y m谩s informaci贸n sobre este tema:
https://www.w3schools.com/python/ref_keyword_assert.asp

Aqu铆 les muestro el c贸digo para manejo de asserts con el ejemplo del profesor:

def primera_letra(lista_de_palabras):
    primeras_letras = []

    for palabra in lista_de_palabras:
        try:
            assert type(palabra) == str, f'{palabra} no es str' 
            assert len(palabra) > 0, 'No se permiten str vacios'

            primeras_letras.append(palabra[0])
            
        except AssertionError as e:
            print(e)

    return primeras_letras


def run():

    lista = []
    for i in range(5):
        lista.append(input('Escribe las palabras: '))

    otra_lista = primera_letra(lista)
    print(otra_lista)


if __name__ == '__main__':
    run()

assert

se explica un poco sobre esta keyword

Creo que este es como el throw de otros lenguajes de programaci贸n porque genera una excepci贸n tipo AssertionError

Hice que el algoritmo devolviera una letra

Un concepto nuevo:Afirmaciones
Recien estoy adentrandole a python y me parece un concepto nuevo, lo seguire estudiando y ver que ventajas tiene.

No conoc铆a nada acerca de los asserts, muy interesante.

Les comparto mis apuntes de esta clase
Notas

Para realizar una afirmaci贸n en nuestro programa lo hacemos con la expresi贸n assert <expresion booleana>, <mensaje de error>.

Las afirmaciones es un m茅todo de programaci贸n defensiva, esto significa que nos estamos preparando para verificar que los tipos de inputs de nuestro programa es del tipo que nosotros esperamos.

Las afirmaciones son un mecanismo en la que podemos determinar si una afirmaci贸n se cumple o no se cumple y poder seguir adelante con la ejecuci贸n de nuestro programa o darle t茅rmino.

En mi caso no los conoc铆a yo para esto usaba if statements y me parece muy bueno conocerlos y saber sobre el tema, ser谩n muy 煤tiles para usarlos dentro de nuestros programas en Python

La verdad nunca escuche sobre los asserts, me parece una forma mucho m谩s eficiente de programar que tratar de evitar los errores con if y elif鈥檚.

Practicamente es un operador ternario, en conjuncion con un raise de python https://es.wikipedia.org/wiki/Operador_ternario#:~:text=En inform谩tica un operador ternario,%2C C%2C C%23 o Java.

Me cost贸 trabajo entender c贸mo funciona pero creo que ya

def primera_letra(lista_de_palabras):
    primeras_letras = []

    for palabra in lista_de_palabras:
        try:
            assert type(palabra) == str, f'{palabra}: no es un string'
            assert len(palabra) > 0, 'No se permiten strings vacios'
            primeras_letras.append(palabra[0])
        except AssertionError as e:
            print(e)

    return primeras_letras

mi_lista = ['oso', 2, 'Carlos', 'arena', True, 5332, 'Youtube', '', 'cinco', 5,'pelusa', False]

print(f'Los caracteres correspondientes de la posici贸n solicitada son: ', primera_letra(mi_lista))


2: no es un string
True: no es un string
5332: no es un string
No se permiten strings vacios
5: no es un string
False: no es un string
Los caracteres correspondientes de la posici贸n solicitada son:  ['o', 'C', 'a', 'Y', 'c', 'p']

Me ha costado un poco entender las afirmaci贸nes. Aqu铆 un enlace que me permite entenderlas: https://ellibrodepython.com/assert-python

Concepto


鈥 鈥忊忊
Las afirmaciones son un mecanismo en la que podemos determinar si una afirmaci贸n se cumple o no se cumple y poder seguir adelante con la ejecuci贸n de nuestro programa o terminar dicha ejecuci贸n. Es adem谩s un m茅todo que nos asegura una programaci贸n defensiva, es decir, mediante este estilo nos podemos preparar por inesperados objetos que puedan ser una fuente de bugs para nuestro programa. Como por ejemplo, s铆 realizamos un programa que su l贸gica funcione en base a enteros, y un usuario ingresara un objeto != a enteros, nuestro programa tendr铆a errores o a煤n peor, bugs. Sin embargo, un punto principal a tener en cuenta es que este m茅todo tambi茅n sirve para debuggear, cosa similar con lo que har铆amos manualmente con el print() statement.
鈥 鈥忊忊

Afirmaciones en el c贸digo


鈥 鈥忊忊
La forma de generar afirmaciones es mediante el uso de keyword assert, con esta palabra reservada podemos formar estructuras similares al if. Veamos como utilizarlos en el siguiente c贸digo:

Si el assert funciona, se ejecutar谩 la expresi贸n; de lo contrario el flujo de nuestro programa seguir谩 corriendo normalmente.

Dejo un ejemplo de asserts que se vio en el curso intermedio de python 馃槃

La forma mas com煤n de usar try except que he visto hasta ahora es par Validaci贸n de datos

Les dejo un ejemplo en combinaci贸n con el ciclo while true:
馃憣馃徎

def lee_entero():
   while True: # MIENTRAS NO HAYA RETURN SE REPETIRA EL CICLO
       entrada = input("Escribe un numero entero: ")
       try:
           entrada = int(entrada)
           return entrada
       except ValueError:
           print ("La entrada es incorrecta: escribe un numero entero")

lee_entero()

Me pueden decir si la especificaci贸n de la funci贸n est谩 bien hecha? Graciaaas

def primera_letra(lista_palabras):
    """ Te devuelve una lista con la primera letra de lista_palabras

    param list lista_palabras una lista de Strings
    returns lista de las primera letra de cada elemento de lista_palabras
    """

Yo no hab铆a escuchado nunca de los asserts. En mi experiencia en sitios web d贸nde necesitas registrar tus datos, no son muy utilizados, a veces es posible poder colocar datos incorrectos como <espacios> o <puntos> .

No hab铆a escuchado antes los assert, si los hubiese conocido antes, tal vez no me hubiese sentido tan frustrado pero de igual forma son un poco dif铆ciles de digerir.

# assert <expresion boolean>, <mensaje error>

def primera_letra(lista_de_palabras):
    primeras_letras = []


    for palabra in lista_de_palabras:
        try:
                
            assert type(palabra) == str, f'{palabra} no es str'
            assert type(palabra) != bool, f'{palabra} es un boleano y los bueleanos no son permitidos' 
            assert len(palabra) > 0, 'No se permiten str vac铆os'

            primeras_letras.append(palabra[0])
        
        except AssertionError as e:
            print(e)

    return primeras_letras    


lista = ['prueba', 2365, '"$ghs', '26762', True]    
print('Primeras letras v谩lidas son: ', primera_letra(lista))

Assert FlowChart

Articulo completo aqu铆

Normalmente trato de evitar las excepciones en todo nivel. Siempre uso un return (o pass) cuando no se cumple una condicion.

Lanzar una excepcion tiene bastantes implicaciones en bajo nivel (normalmente trabajo Java o C++, asumo que es extensible a Python)

Notas

#Afirmaciones

#Si una condicion es falsa, un error sera disparado al usuario.

#Ejemplo:

#assert <expresion booleana>, <mensaje de error>

def primera_letra(lista_de_palabras):
    primeras_letras = []
    
    for palabra in lista_de_palabras:
        assert type(palabra) == str, f'{palabra} nno es str'
        assert len(palabra) > 0, 'No se permiten str vacios'
        
        primeras_letras.append(palabra[0])
        
    return primeras_letras

lista = ['hello', '', 'pedro']
primera_letra(lista)

Reto

def divide(n, d):
    assert d != 0, 'Al dividir por cero nuestro resultado es indeterminado'
    
    return n / d


numerador = 5
denominador = 0

resultado = divide(numerador, denominador)
print(resultado)

Nunca escuche sobre el 鈥淎ssert鈥, muy informativo profe.

Muy interesante, nunca vi algo relacionado con 鈥榓ssert麓, en cada tema me siento m谩s atra铆do hacia Python.

Si tenemos dos assert statements estamos tratando el objeto dos veces?
Si tenemos 1000 assert estamos tratando el mismo objeto 1000 veces?
Como afecta esto al tiempo de ejecucion del codigo?

Hice uno con numeros, pero la idea es la misma

def numeros(lista_numeros):
    primeros_numeros = []

    for numeros in lista_numeros:
        try:
            assert type(numeros) == int, f'"{numeros}" no es un entero'
            primeros_numeros.append(numeros)
        except AssertionError as e:
            print(e)

    return primeros_numeros


lista_numeros = ["hola", 54458, 874512148, 87821, 5.4, "Mexico", 8.78, 95248, "Palabras"]
print('Numeros validos: ', numeros(lista_numeros))```

Buenas, programando con unittest me ha pasado algo muy curioso. Me gustaria saber si es posible el guardar en una variable la ejecucion de un assert de la siguiente manera.

A煤n no conoc铆a assert pero creo que es lo que estaba buscando para mejorar unos mini-juegos y asegurarme que el usuario no ingrese valores incorrectos, por lo tanto no se genere error y salga del programa.

  • Las afirmaciones es un m茅todo de programaci贸n de programaci贸n defensiva.
  • Pueden usarse para verificar que los tipos de datos sean correctos.
  • Tambi茅n pueden usarse para realizar debug.
assert condicion, mensaje

Con estos m茅todos, manejas mejor el comportamiento del programa, para evitar posibles errores y bugs.

Muy interesantes pues nunca hab铆a escuchado de los asserts pero me parece que estas sentencias pueden ser muy 煤tiles.

No conoc铆a el concepto de afirmaciones, pero me ha gustado mucho su utilidad.

Es muy parecido o igual al operador condicional ternario en JavaScript.

expresion ? true_value : false_value;

nunca habia escuchado de los assert鈥 donde se encuentra la documentaci贸n??

Solo habia esuchado de los try
esta cool

Es muy buen tema, en trabajos que he realizado en Python eh tenido que lidiar con lecturas del puerto Serial sin saber como manejar la entrada de datos que no esperaba, pero con esto ya puedo hacerlo sin probelmas.

Ni idea de los assert ten铆a

Las afirmaciones son declaraciones que afirman o declaran un hecho con confianza en su programa. Por ejemplo, mientras escribe una funci贸n de divisi贸n, est谩 seguro de que el divisor no deber铆a ser cero, afirma que el divisor no es igual a cero.

Las afirmaciones son simplemente expresiones booleanas que verifican si las condiciones devuelven verdadero o no. Si es cierto, el programa no hace nada y pasa a la siguiente l铆nea de c贸digo. Sin embargo, si es falso, el programa se detiene y arroja un error.

Existe algo similar en JS?

Interesante forma de adelantarte de los errores

Este tema es nuevo para mi; pero se ve muy 煤til para cubrirnos.Muy Buen Curso David.

[1:43] Para implementarlas debemos usar el keyword assert, dar una condici贸n boobleana (que evalue verdadeo o falso) y un mensaje de error a devolver si la asersion no funciona, si la asercion funciona el programa seguira funcionando.

Afirmaciones: es un mecanismo mediante el cual podemos determinar si una condici贸n se cumple o no se cumple y poder seguir adelante o terminar dicha instrucci贸n. Es un m茅todo de programaci贸n defensiva.

[0:56] Los resultados que el programa nos puede dar dependera que reciba los tipos correctos.

Key Points to Remember
Assertions are the condition or boolean expression which are always supposed to be true in the code.
assert statement takes an expression and optional message.
assert statement is used to check types, values of argument and the output of the function.
assert statement is used as debugging tool as it halts the program at the point where an error occurs