From ea374969da67c90af58316b5a134c5f064f8ae42 Mon Sep 17 00:00:00 2001 From: Carolina Mamani Date: Thu, 12 Oct 2023 10:16:41 -0300 Subject: [PATCH] Clases 5-6-7 de python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trabajamos usando LiveShare Co-Authored-By: Marita <113071029+vrunito2021@users.noreply.github.com> Co-Authored-By: Marcelo Alejandro Boujón <77926233+boujonmarcelo@users.noreply.github.com> Co-Authored-By: Pintos Araceli <111717735+AraceliPintos@users.noreply.github.com> Co-Authored-By: Augustonc <73897032+Augustonc@users.noreply.github.com> Co-Authored-By: JohanaMM <89425234+JohanaMM@users.noreply.github.com> Co-Authored-By: pilochincho <98560604+pilochincho@users.noreply.github.com> Co-Authored-By: David <110946400+David-Esteche@users.noreply.github.com> --- Python/Semana 4/tipo_bool.py | 67 ++++++++++++++++++++++++++++++ Python/Semana 4/tipo_nan.py | 17 ++++++++ Python/Semana 4/tipo_str.py | 19 +++++++++ Python/Semana 6/doc_str.py | 11 +++++ Python/Semana 6/metodo_join.py | 19 +++++++++ Python/Semana 6/metodo_split.py | 11 +++++ Python/Semana 6/mi_clase.py | 22 ++++++++++ Python/Semana 6/str_inmutable.py | 16 +++++++ Python/Semana 6/tipo_bool.py | 66 +++++++++++++++++++++++++++++ Python/Semana 6/tipo_nan.py | 19 +++++++++ Python/Semana 6/tipo_str.py | 16 +++++++ Python/Semana 7/dar_formato_str.py | 31 ++++++++++++++ Python/Semana 7/doc_str.py | 11 +++++ Python/Semana 7/f_string.py | 10 +++++ Python/Semana 7/metodo_join.py | 19 +++++++++ Python/Semana 7/metodo_split.py | 11 +++++ Python/Semana 7/mi_clase.py | 22 ++++++++++ Python/Semana 7/str_inmutable.py | 16 +++++++ Python/Semana 7/tipo_bool.py | 66 +++++++++++++++++++++++++++++ Python/Semana 7/tipo_nan.py | 19 +++++++++ Python/Semana 7/tipo_str.py | 16 +++++++ 21 files changed, 504 insertions(+) create mode 100644 Python/Semana 4/tipo_bool.py create mode 100644 Python/Semana 4/tipo_nan.py create mode 100644 Python/Semana 4/tipo_str.py create mode 100644 Python/Semana 6/doc_str.py create mode 100644 Python/Semana 6/metodo_join.py create mode 100644 Python/Semana 6/metodo_split.py create mode 100644 Python/Semana 6/mi_clase.py create mode 100644 Python/Semana 6/str_inmutable.py create mode 100644 Python/Semana 6/tipo_bool.py create mode 100644 Python/Semana 6/tipo_nan.py create mode 100644 Python/Semana 6/tipo_str.py create mode 100644 Python/Semana 7/dar_formato_str.py create mode 100644 Python/Semana 7/doc_str.py create mode 100644 Python/Semana 7/f_string.py create mode 100644 Python/Semana 7/metodo_join.py create mode 100644 Python/Semana 7/metodo_split.py create mode 100644 Python/Semana 7/mi_clase.py create mode 100644 Python/Semana 7/str_inmutable.py create mode 100644 Python/Semana 7/tipo_bool.py create mode 100644 Python/Semana 7/tipo_nan.py create mode 100644 Python/Semana 7/tipo_str.py diff --git a/Python/Semana 4/tipo_bool.py b/Python/Semana 4/tipo_bool.py new file mode 100644 index 0000000..00a2011 --- /dev/null +++ b/Python/Semana 4/tipo_bool.py @@ -0,0 +1,67 @@ +#Marita +# Bool contiene los valores de True y False +# Los tipos númericos, son false para el 0 (cero), true para los demás valores +valor = 0 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + +valor = 0.1 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + + +# Tipo string -> False, representa la cadena vacía '' , True para los demas +valor = '' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + +valor = 'Hola' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + + +#Marcelo +#TIPO COLECCIONES -> False para colecciones vacías +#TIPO COLECCIONES -> True para todas las demás +#LISTA +valor = [] +resultado = bool(valor) +print(f'valor de una lista vacia:{valor}, Resultado:{resultado}') + +valor = [2,3,4] +resultado = bool(valor) +print(f'valor de una lista con elementos:{valor}, Resultado:{resultado}') + +#TUPLA +valor = () +resultado = bool(valor) +print(f'valor de una tupla vacia:{valor}, Resultado:{resultado}') + +valor = (5,) +resultado = bool(valor) +print(f'valor de una tupla con elementos:{valor}, Resultado:{resultado}') + + +#Carolina +#DICCIONARIO +valor = {} +resultado = bool(valor) +print(f'valor de un diccionario vacio:{valor}, Resultado:{resultado}') + +valor = {'Nombre':'Juan', 'Apellido':'Perez'} +resultado = bool(valor) +print(f'valor de un diccionario con elementos:{valor}, Resultado:{resultado}') + +# Sentencias de control con bool +if (1,): + print('Regresa verdadero') +else: + print('Regresa falso') + +# ciclos +variable = 0 +while variable: + print('Regresa verdadero') + break +else: + print('Regresa falso') diff --git a/Python/Semana 4/tipo_nan.py b/Python/Semana 4/tipo_nan.py new file mode 100644 index 0000000..375a269 --- /dev/null +++ b/Python/Semana 4/tipo_nan.py @@ -0,0 +1,17 @@ +#Marita +import math +from decimal import Decimal + +# NaN (Not a Number) +a = float('NaN') # tipo de dato numérico indefinido +print(f'a: {a}') + +# Módulo math +a = float('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + +# Módulo decimal +a = Decimal('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + + diff --git a/Python/Semana 4/tipo_str.py b/Python/Semana 4/tipo_str.py new file mode 100644 index 0000000..9bc83c3 --- /dev/null +++ b/Python/Semana 4/tipo_str.py @@ -0,0 +1,19 @@ +#Marcelo +import math +# Profundizando en el tipo String +# Concatenación automática en Python +variable = ' Adios' +mensaje = 'Hola ''Alumnos' + variable # podemos asignar a una variable dos cadenas diferentes +mensaje += ', Terminamos' +#print(mensaje) +#Usamos la clase help para ayuda o documentación (built-in) +#help(str) +# Usamos la clase help para ayuda o documentación (built-in) +help(math.isnan) + + + + + + + diff --git a/Python/Semana 6/doc_str.py b/Python/Semana 6/doc_str.py new file mode 100644 index 0000000..ef14e6b --- /dev/null +++ b/Python/Semana 6/doc_str.py @@ -0,0 +1,11 @@ +#Marita +from mi_clase import MiClase + +# help devuelve la documentacion de la clase +# help(MiClase) + +# print(MiClase._doc_) +# print(MiClase._init.doc_) +# print(MiClase.mi_metodo._doc_) # cada metodo en si mismo es un objet +print(MiClase.mi_metodo) +print(type(MiClase.mi_metodo)) \ No newline at end of file diff --git a/Python/Semana 6/metodo_join.py b/Python/Semana 6/metodo_join.py new file mode 100644 index 0000000..790f2cc --- /dev/null +++ b/Python/Semana 6/metodo_join.py @@ -0,0 +1,19 @@ +# help(str.join) + +tupla_str = ('Hola', 'alumnos', 'Tecnicatura', 'Universitaria') # tupla con 4 elementos +mensaje = ' '.join(tupla_str) # crea una nueva cadena uniendo espacios entre las palabras +print(f'Mensaje: {mensaje}') # devuelve una sola cadena + +lista_cursos = ['Java', 'Python', 'Angular', 'Spring'] +mensaje = ', '.join(lista_cursos) +print(f'Mensaje: {mensaje}') + +cadena = 'HolaMundo' +mensaje = '.'.join(cadena) +print(f'Mensaje: {mensaje}') + +diccionario = {'nombre': 'Juan', 'apellido': 'Perez', 'edad': '18'} +llaves = '-'.join(diccionario.keys()) +valores = '-'.join(diccionario.values()) +print(f'Llaves: {llaves}, Type: {type(llaves)}') +print(f'Valores: {valores}, Type: {type(valores)}') \ No newline at end of file diff --git a/Python/Semana 6/metodo_split.py b/Python/Semana 6/metodo_split.py new file mode 100644 index 0000000..95a5b4e --- /dev/null +++ b/Python/Semana 6/metodo_split.py @@ -0,0 +1,11 @@ + +#Marcelo +cursos_separados_coma = 'Java,Python,Node,Javascript,Spring' +lista_cursos = cursos_separados_coma.split(',', 2) +print(f'Lista de cursos: {lista_cursos}') +print(type(lista_cursos)) + +cursos_separados_coma = 'Java,Python,Node,Javascript,Spring' +lista_cursos = cursos_separados_coma.split(',', 2) +print(f'Lista de cursos: {lista_cursos}') +print(len(lista_cursos)) diff --git a/Python/Semana 6/mi_clase.py b/Python/Semana 6/mi_clase.py new file mode 100644 index 0000000..3115b5c --- /dev/null +++ b/Python/Semana 6/mi_clase.py @@ -0,0 +1,22 @@ +#Marita +class MiClase: + ''' + Este es un ejemplo de la documentación + de esta clase. + Es solo para saber que aqui esta MiClase. + ''' + def _init_(self): + ''' + Aqui esta el método dunder init + Este metodo es el de inicio + para esta clase + ''' + + def mi_metodo (self, param1, param2): + ''' + Este es el metodo creado por mi que recibe parametros + Detecto los parametros automaticamente + :param param1: Este es el parametro número 1. + :param param2: Este es el parametro número 2. + :return: Este es el valor de retorno. + ''' \ No newline at end of file diff --git a/Python/Semana 6/str_inmutable.py b/Python/Semana 6/str_inmutable.py new file mode 100644 index 0000000..a0fc37e --- /dev/null +++ b/Python/Semana 6/str_inmutable.py @@ -0,0 +1,16 @@ + +# STRING INMUTABLES - Las variables que tienen cadenas, no pueden modificarse. + +# help(str.capitalize) # convierte el primer caracter a mayúscula + +mensaje1 = "hola mundo" +mensaje2 = mensaje1.capitalize() # debería poner la H en mayúscula pero NO la modifica +# Lo que hace es crear en mensaje2 una cadena nueva, no modificar la de mensaje1 + +print(f'Mensaje1: {mensaje1}, id: {id(mensaje1)}') # vemos el id interno PARA ESTA VARIABLE +print(f'Mensaje2: {mensaje2}, id: {id(mensaje2)}') # id distinto, SON DOS OBJETOS DISTINTOS + +mensaje1 += ' Adiós' # es una nueva cadena +print(f'Mensaje1: {mensaje1}, id: {id(mensaje1)}') # VEMOS EL ID DE ESA NUEVA CADENA + + diff --git a/Python/Semana 6/tipo_bool.py b/Python/Semana 6/tipo_bool.py new file mode 100644 index 0000000..b1398ba --- /dev/null +++ b/Python/Semana 6/tipo_bool.py @@ -0,0 +1,66 @@ +#Marcelo +# Bool contiene los valores de True y False +# Los tipos numéricos, son false para el 0 (cero), true para los demás valores +valor = 0 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + +valor = 0.1 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + + +# Tipo string -> False, representa lacadena vacía '' , True para los demas +valor = '' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + +valor = 'Hola' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + + +#TIPO COLECCIONES -> False para colecciones vacias +#TIPO COLECCIONES -> True para todas las demas +#LISTA +valor = [] +resultado = bool(valor) +print(f'valor de una lista vacia:{valor}, Resultado:{resultado}') + + +#Marita +valor = [2,3,4] +resultado = bool(valor) +print(f'valor de una lista con elementos:{valor}, Resultado:{resultado}') + +#TUPLA +valor = () +resultado = bool(valor) +print(f'valor de una tupla vacia:{valor}, Resultado:{resultado}') + +valor = (5,) +resultado = bool(valor) +print(f'valor de una tupla con elementos:{valor}, Resultado:{resultado}') + +#DICCIONARIO +valor = {} +resultado = bool(valor) +print(f'valor de un diccionario vacio:{valor}, Resultado:{resultado}') + +valor = {'Nombre':'Juan', 'Apellido':'Perez'} +resultado = bool(valor) +print(f'valor de un diccionario con elementos:{valor}, Resultado:{resultado}') + +# Sentencias de control con bool +if (1,): + print('Regresa verdadero') +else: + print('Regresa falso') + +# ciclos parte juany +variable = 0 +while variable: + print('Regresa verdadero') + break +else: + print('Regresa falso') \ No newline at end of file diff --git a/Python/Semana 6/tipo_nan.py b/Python/Semana 6/tipo_nan.py new file mode 100644 index 0000000..76de60e --- /dev/null +++ b/Python/Semana 6/tipo_nan.py @@ -0,0 +1,19 @@ + +#Marcelo +import math +from decimal import Decimal + +# NaN (Not a Number) +a = float('NaN') # tipo de dato numérico indefinido +print(f'a: {a}') + +# Módulo math +a = float('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + +# Módulo decimal +a = Decimal('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + + + diff --git a/Python/Semana 6/tipo_str.py b/Python/Semana 6/tipo_str.py new file mode 100644 index 0000000..e1f302d --- /dev/null +++ b/Python/Semana 6/tipo_str.py @@ -0,0 +1,16 @@ +#Marita +import math + +# Profundizando en el tipo String +# Concatenación automática en Python + +variable = ' Adios' +mensaje = 'Hola ''Alumnos' + variable # podemos asignar a una variable dos cadenas diferentes +mensaje += ', Terminamos' +#print(mensaje) + +#Usamos la clase help para ayuda o documentación (built-in) +#help(str) + +# Usamos la clase help para ayuda o documentación (built-in) +help(math.isnan) \ No newline at end of file diff --git a/Python/Semana 7/dar_formato_str.py b/Python/Semana 7/dar_formato_str.py new file mode 100644 index 0000000..2f41722 --- /dev/null +++ b/Python/Semana 7/dar_formato_str.py @@ -0,0 +1,31 @@ +#Marita +# dar formato a un string + +nombre = 'Ariel' +edad = 28 +mensaje_con_formato = 'Mi nombre es %s y tengo %d años' % (nombre, edad) + +#Creamos una tupla +persona = ('Maria', 'Perez', 5000.00) +mensaje_con_formato = 'Hola %s %s. Tu sueldo es %.2f' #% persona #le pasamos la tupla persona +# print(mensaje_con_formato % persona) #podemos pasarlo en el print directamente + +nombre = 'Pedro' +edad = 20 +sueldo = 3000 + +# se puede modificar el orden ya que manejamos índices. +mensaje = 'Nombre {0} Edad {1} Sueldo {2:.2f}'.format(nombre, edad, sueldo) +print(mensaje) + +#Marcelo +# Inicio - 6.3 Parte 3 - Semana 7. + +mensaje = 'Nombre {n} Edad {e} Sueldo {s:.2f}'.format(n=nombre, e=edad, s=sueldo) +#print(mensaje) + +diccionario = {'nombre': 'Ivan', 'edad': 35, 'sueldo': 8000.00} +mensaje = 'Nombre {dic[nombre]} Edad {dic[edad]} Sueldo{dic[sueldo]:.2f}'.format(dic=diccionario) +print(mensaje) + +# Fin - 6.3 Parte 3 - Semana 7 \ No newline at end of file diff --git a/Python/Semana 7/doc_str.py b/Python/Semana 7/doc_str.py new file mode 100644 index 0000000..ef14e6b --- /dev/null +++ b/Python/Semana 7/doc_str.py @@ -0,0 +1,11 @@ +#Marita +from mi_clase import MiClase + +# help devuelve la documentacion de la clase +# help(MiClase) + +# print(MiClase._doc_) +# print(MiClase._init.doc_) +# print(MiClase.mi_metodo._doc_) # cada metodo en si mismo es un objet +print(MiClase.mi_metodo) +print(type(MiClase.mi_metodo)) \ No newline at end of file diff --git a/Python/Semana 7/f_string.py b/Python/Semana 7/f_string.py new file mode 100644 index 0000000..5a7116a --- /dev/null +++ b/Python/Semana 7/f_string.py @@ -0,0 +1,10 @@ +#Marita +# dar formato a un string + +nombre = 'Pedro Picapiedras' +edad = 30 +sueldo = 5001 +mensaje = f'Nombre {nombre} Edad {edad} Sueldo {sueldo:.2f}' +print(mensaje) + +print(nombre, edad, sueldo, sep=', ') \ No newline at end of file diff --git a/Python/Semana 7/metodo_join.py b/Python/Semana 7/metodo_join.py new file mode 100644 index 0000000..790f2cc --- /dev/null +++ b/Python/Semana 7/metodo_join.py @@ -0,0 +1,19 @@ +# help(str.join) + +tupla_str = ('Hola', 'alumnos', 'Tecnicatura', 'Universitaria') # tupla con 4 elementos +mensaje = ' '.join(tupla_str) # crea una nueva cadena uniendo espacios entre las palabras +print(f'Mensaje: {mensaje}') # devuelve una sola cadena + +lista_cursos = ['Java', 'Python', 'Angular', 'Spring'] +mensaje = ', '.join(lista_cursos) +print(f'Mensaje: {mensaje}') + +cadena = 'HolaMundo' +mensaje = '.'.join(cadena) +print(f'Mensaje: {mensaje}') + +diccionario = {'nombre': 'Juan', 'apellido': 'Perez', 'edad': '18'} +llaves = '-'.join(diccionario.keys()) +valores = '-'.join(diccionario.values()) +print(f'Llaves: {llaves}, Type: {type(llaves)}') +print(f'Valores: {valores}, Type: {type(valores)}') \ No newline at end of file diff --git a/Python/Semana 7/metodo_split.py b/Python/Semana 7/metodo_split.py new file mode 100644 index 0000000..95a5b4e --- /dev/null +++ b/Python/Semana 7/metodo_split.py @@ -0,0 +1,11 @@ + +#Marcelo +cursos_separados_coma = 'Java,Python,Node,Javascript,Spring' +lista_cursos = cursos_separados_coma.split(',', 2) +print(f'Lista de cursos: {lista_cursos}') +print(type(lista_cursos)) + +cursos_separados_coma = 'Java,Python,Node,Javascript,Spring' +lista_cursos = cursos_separados_coma.split(',', 2) +print(f'Lista de cursos: {lista_cursos}') +print(len(lista_cursos)) diff --git a/Python/Semana 7/mi_clase.py b/Python/Semana 7/mi_clase.py new file mode 100644 index 0000000..3115b5c --- /dev/null +++ b/Python/Semana 7/mi_clase.py @@ -0,0 +1,22 @@ +#Marita +class MiClase: + ''' + Este es un ejemplo de la documentación + de esta clase. + Es solo para saber que aqui esta MiClase. + ''' + def _init_(self): + ''' + Aqui esta el método dunder init + Este metodo es el de inicio + para esta clase + ''' + + def mi_metodo (self, param1, param2): + ''' + Este es el metodo creado por mi que recibe parametros + Detecto los parametros automaticamente + :param param1: Este es el parametro número 1. + :param param2: Este es el parametro número 2. + :return: Este es el valor de retorno. + ''' \ No newline at end of file diff --git a/Python/Semana 7/str_inmutable.py b/Python/Semana 7/str_inmutable.py new file mode 100644 index 0000000..a0fc37e --- /dev/null +++ b/Python/Semana 7/str_inmutable.py @@ -0,0 +1,16 @@ + +# STRING INMUTABLES - Las variables que tienen cadenas, no pueden modificarse. + +# help(str.capitalize) # convierte el primer caracter a mayúscula + +mensaje1 = "hola mundo" +mensaje2 = mensaje1.capitalize() # debería poner la H en mayúscula pero NO la modifica +# Lo que hace es crear en mensaje2 una cadena nueva, no modificar la de mensaje1 + +print(f'Mensaje1: {mensaje1}, id: {id(mensaje1)}') # vemos el id interno PARA ESTA VARIABLE +print(f'Mensaje2: {mensaje2}, id: {id(mensaje2)}') # id distinto, SON DOS OBJETOS DISTINTOS + +mensaje1 += ' Adiós' # es una nueva cadena +print(f'Mensaje1: {mensaje1}, id: {id(mensaje1)}') # VEMOS EL ID DE ESA NUEVA CADENA + + diff --git a/Python/Semana 7/tipo_bool.py b/Python/Semana 7/tipo_bool.py new file mode 100644 index 0000000..b1398ba --- /dev/null +++ b/Python/Semana 7/tipo_bool.py @@ -0,0 +1,66 @@ +#Marcelo +# Bool contiene los valores de True y False +# Los tipos numéricos, son false para el 0 (cero), true para los demás valores +valor = 0 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + +valor = 0.1 +resultado = bool(valor) +print(f'valor: {valor}, Resultado: {resultado}') + + +# Tipo string -> False, representa lacadena vacía '' , True para los demas +valor = '' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + +valor = 'Hola' +resultado = bool(valor) +print(f'Valor: {valor}, Resultado: {resultado}') + + +#TIPO COLECCIONES -> False para colecciones vacias +#TIPO COLECCIONES -> True para todas las demas +#LISTA +valor = [] +resultado = bool(valor) +print(f'valor de una lista vacia:{valor}, Resultado:{resultado}') + + +#Marita +valor = [2,3,4] +resultado = bool(valor) +print(f'valor de una lista con elementos:{valor}, Resultado:{resultado}') + +#TUPLA +valor = () +resultado = bool(valor) +print(f'valor de una tupla vacia:{valor}, Resultado:{resultado}') + +valor = (5,) +resultado = bool(valor) +print(f'valor de una tupla con elementos:{valor}, Resultado:{resultado}') + +#DICCIONARIO +valor = {} +resultado = bool(valor) +print(f'valor de un diccionario vacio:{valor}, Resultado:{resultado}') + +valor = {'Nombre':'Juan', 'Apellido':'Perez'} +resultado = bool(valor) +print(f'valor de un diccionario con elementos:{valor}, Resultado:{resultado}') + +# Sentencias de control con bool +if (1,): + print('Regresa verdadero') +else: + print('Regresa falso') + +# ciclos parte juany +variable = 0 +while variable: + print('Regresa verdadero') + break +else: + print('Regresa falso') \ No newline at end of file diff --git a/Python/Semana 7/tipo_nan.py b/Python/Semana 7/tipo_nan.py new file mode 100644 index 0000000..76de60e --- /dev/null +++ b/Python/Semana 7/tipo_nan.py @@ -0,0 +1,19 @@ + +#Marcelo +import math +from decimal import Decimal + +# NaN (Not a Number) +a = float('NaN') # tipo de dato numérico indefinido +print(f'a: {a}') + +# Módulo math +a = float('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + +# Módulo decimal +a = Decimal('nan') +print(f'Es de tipo NaN(Not a Number?: {math.isnan(a)}') + + + diff --git a/Python/Semana 7/tipo_str.py b/Python/Semana 7/tipo_str.py new file mode 100644 index 0000000..e1f302d --- /dev/null +++ b/Python/Semana 7/tipo_str.py @@ -0,0 +1,16 @@ +#Marita +import math + +# Profundizando en el tipo String +# Concatenación automática en Python + +variable = ' Adios' +mensaje = 'Hola ''Alumnos' + variable # podemos asignar a una variable dos cadenas diferentes +mensaje += ', Terminamos' +#print(mensaje) + +#Usamos la clase help para ayuda o documentación (built-in) +#help(str) + +# Usamos la clase help para ayuda o documentación (built-in) +help(math.isnan) \ No newline at end of file