Entradas

Mostrando las entradas de mayo, 2022

¡Felicidades! Has completado el Módulo 2

  ¡Bien hecho! Has llegado al final del Módulo 2 y has completado un paso importante en tu educación de programación en Python. Aquí hay un breve resumen de los objetivos que has cubierto y con los que te has familiarizado en el Módulo 2: Los métodos básicos de formateo y salida de datos ofrecidos por Python, junto con los tipos principales de datos y operadores numéricos, sus relaciones mutuas y enlaces. El concepto de variables y la manera correcta de darles nombre. El operador de asignación, las reglas que rigen la construcción de expresiones. La entrada y conversión de datos.

Puntos Clave

  1. La función   print()  envía datos a la consola , mientras que la función   input()  obtiene datos de la consola . 2. La función  input()  viene con un parámetro inicial:  un mensaje de tipo cadena para el usuario . Permite escribir un mensaje antes de la entrada del usuario, por ejemplo: nombre = input( "Ingresa tu nombre: " ) print("Hola, " + nombre + ". ¡Un gusto conocerte!") 3. Cuando la función  input()  es llamada o invocada, el flujo del programa se detiene, el símbolo del cursor se mantiene parpadeando (le está indicando al usuario que tome acción ya que la consola está en modo de entrada) hasta que el usuario haya ingresado un dato y/o haya presionado la tecla  Enter . NOTA Puedes probar la funcionalidad completa de la función  input()  localmente en tu máquina. Por razones de optimización, se ha limitado el máximo número de ejecuciones en Edube a solo algunos segundos únicamente. Ve a Sandbox, copia y pega el...

Conversión de tipos de datos: str()

  A estas alturas ya sabes como emplear las funciones   int()   y   float()   para convertir una cadena a un número. Este tipo de conversión no es en un solo sentido. También se puede  convertir un numero a una cadena , lo cual es más fácil y rápido, esta operación es posible hacerla siempre. Una función capaz de hacer esto se llama  str() : str(número) Sinceramente, puede hacer mucho más que transformar números en cadenas, eso lo veremos después. El "triángulo rectángulo" de nuevo Este es el programa del "triángulo rectángulo" visto anteriormente: cateto_a = float(input("Ingresa la longitud del primer cateto: ")) cateto_b = float(input("Ingresa la longitud del segundo cateto: ")) print("La longitud de la hipotenusa es: " + str((cateto_a**2 + cateto_b**2) ** .5)) Se ha modificado un poco para mostrar cómo es que la función  str()  trabaja. Gracias a esto, podemos  pasar el resultado entero a la función  print()  como una sola ...

Replicación

  El signo de   *   (asterisco), cuando es aplicado a una cadena y a un número (o a un número y cadena) se convierte en un   operador de replicación . cadena * número número * cadena Replica la cadena el numero de veces indicado por el número. Por ejemplo: "James" * 3  nos da  "JamesJamesJames" . 3 * "an"  nos da  "ananan" . 5 * "2"  (o  "2" * 5 ) da como resultado  "22222"  (no  10 ). RECUERDA Un número menor o igual que cero produce una  cadena vacía . Este sencillo programa "dibuja" un rectángulo, haciendo uso del operador ( + ), pero en un nuevo rol: print("+" + 10 * "-" + "+") print(("|" + " " * 10 + "|\n") * 5, end="") print("+" + 10 * "-" + "+") Nota como se ha utilizado el paréntesis en la segunda línea de código. ¡Intenta practicar para crear otras figuras o tus propias obras de arte!

Concatenación

  El sigo de   +   (más), al ser aplicado a dos cadenas, se convierte en   un operador de concatenación : string + string Simplemente  concatena  (junta) dos cadenas en una. Además, puede ser utilizado más de una vez en una misma expresión. En contraste con el operador aritmético, el operador de concatenación no es  conmutativo , por ejemplo,  "ab" + "ba"  no es lo mismo que  "ba" + "ab" . No olvides, si se desea que el signo  +  sea un  concatenador , no un sumador, solo se debe asegurar que  ambos argumentos sean cadenas . No se pueden mezclar los tipos de datos aquí. Este es un programa sencillo que muestra como funciona el signo  +  como concatenador: nom = input("¿Me puedes dar tu nombre por favor? ") ape = input("¿Me puedes dar tu apellido por favor? ") print("Gracias.") print("\nTu nombre es " + nom + " " + ape + ".") Nota: El utilizar  +  para concatenar cadenas te permite constr...

Operadores de cadenas - introducción

  Es tiempo de regresar a estos dos operadores aritméticos:   +   y   * . Ambos tienen una función secundaría. Son capaces de hacer algo más que  sumar  y  multiplicar . Los hemos visto en acción cuando sus argumentos son (flotantes o enteros). Ahora veremos que son capaces también de manejar o manipular cadenas, aunque, en una manera muy específica.

Más acerca de la función input() y tipos de conversión

  El tener un equipo compuesto por   input() - int() - float()   abre muchas nuevas posibilidades. Eventualmente serás capaz de escribir programas completos, los cuales acepten datos en forma de números, los cuales serán procesados y se mostrarán los resultados. Por supuesto, estos programas serán muy primitivos y no muy utilizables, debido a que no pueden tomar decisiones, y consecuentemente no son capaces de reaccionar acorde a cada situación. Sin embargo, esto no es un problema; se explicará como solucionarlo pronto. El siguiente ejemplo hace referencia al programa anterior que calcula la longitud de la hipotenusa. Vamos a reescribirlo, para que pueda leer las longitudes de los catetos desde la consola. Revisa la ventana del editor, así es como se ve ahora. Este programa le preguntó al usuario los dos catetos, calcula la hipotenusa e imprime el resultado. Ejecútalo de nuevo e intenta introducir valores negativos. El programa desafortunadamente, no reacciona correctamen...

Conversión de datos o casting

  Python ofrece dos simples funciones para especificar un tipo de dato y resolver este problema, aquí están:   int()   y   float() . Sus nombres indican cual es su función: La función  int()   toma un argumento  (por ejemplo, una cadena:  int(string) ) e intenta convertirlo a un valor entero; si llegase a fallar, el programa entero fallará también (existe una manera de solucionar esto, se explicará mas adelante). La función  float()  toma un argumento (por ejemplo, una cadena:  float(string) ) e intenta convertirlo a flotante (el resto es lo mismo). Esto es muy simple y muy efectivo. Sin embargo, estas funciones se pueden invocar directamente pasando el resultado de la función  input()  directamente. No hay necesidad de emplear variables como almacenamiento intermedio. Se ha implementado esta idea en el editor, observa el código. ¿Puedes imaginar como la cadena introducida por el usuario fluye desde la función  input(...

La función input() - operaciones prohibidas

  Observa el código en el editor. Ejecútalo, inserta cualquier número, y oprime   Enter . ¿Qué es lo que ocurre? Python debió haberte dado la siguiente salida: Traceback (most recent call last): File ".main.py", line 4, in <module> resultado = algo ** 2.0 TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'float' La última línea lo explica todo, se intentó aplicar el operador  **  a  'str'  (una cadena) acompañado por un  'float'  (valor flotante). Esto está prohibido. Esto debe de ser obvio  ¿Puedes predecir el valor de  "ser o no ser"  elevado a la  2  potencia? No podemos. Python tampoco puede. ¿Habremos llegado a un punto muerto? ¿Existirá alguna solución? Claro que la hay. # Probando mensajes de error algo = input("Inserta un número: ") resultado = algo ** 2.0 print(algo, "al cuadrado es ", resultado)

El resultado de la función input()

  Se ha dicho antes, pero hay que decirlo sin ambigüedades una vez más: el   resultado de la función  input()  es una cadena . Una cadena que contiene todos los caracteres que el usuario introduce desde el teclado. No es un entero ni un flotante. Esto significa que  no se debe utilizar como un argumento para operaciones matemáticas , por ejemplo, no se pueden utilizar estos datos para elevarlos al cuadrado, para dividirlos entre algo o por algo. cualquierNumero = input("Inserta un número: ") algo = cualquierNumero ** 2.0 print(cualquierNumero, "al cuadrado es", algo)

La función input() con un argumento

  La función   input()   puede hacer algo más: puede mostrar un mensaje al usuario sin la ayuda de la función   print() . Se ha modificado el ejemplo un poco, observa el código: algo = input("Dime algo...") print("Mmm...", algo, "...¿En serio?") Nota: La función  input()  al ser invocada con un argumento, contiene una cadena con un mensaje. El mensaje será mostrado en consola antes de que el usuario tenga oportunidad de escribir algo. Después de esto  input()  hará su trabajo. Esta variante de la invocación de la función  input()  simplifica el código y lo hace más claro.

La función input()

Imagen
  Ahora se introducirá una nueva función, la cual pareciese ser un reflejo de la función   print() . ¿Por que? Bueno,  print()  envía datos a la consola. Esta nueva función obtiene datos de ella. print()  no tiene un resultado utilizable. La importancia de esta nueva función es que  regresa un valor muy utilizable . La función se llama  input() . El nombre de la función lo dice todo. La función  input()  es capaz de leer datos que fueron introducidos por el usuario y pasar esos datos al programa en ejecución. El programa entonces puede manipular los datos, haciendo que el código sea verdaderamente interactivo. Todos los programas  leen y procesan datos . Un programa que no obtiene datos de entrada del usuario es un  programa sordo . Observa el ejemplo: print("Dime algo...") algo = input() print("Mmm...", algo, "...¿en serio?") Se muestra un ejemplo muy sencillo de como utilizar la función  input() . Nota: El programa  soli...

Puntos Clave

  1. Los comentarios pueden ser utilizados para colocar información adicional en el código. Son omitidos al momento de la ejecución. Dicha información es para los lectores que están manipulando el código. En Python, un comentario es un fragmento de texto que comienza con un   # . El comentario se extiende hasta el final de la línea. 2. Si deseas colocar un comentario que abarque varias líneas, es necesario colocar un  #  al inicio de cada línea. Además, se puede utilizar un comentario para marcar un fragmento de código que no es necesaria en el momento y no se desea ejecutar. (observa la ultima línea de código del siguiente fragmento), por ejemplo: # Este programa imprime # un saludo en pantalla print("Hola!") # Se invoca la función print() function # print("Soy Python.") 3. Cuando sea posible, se deben  auto comentar los nombres  de las variables, por ejemplo, si se están utilizando dos variables para almacenar la altura y longitud de algo, los nombres...

Poner comentarios en el código: ¿por qué, cuándo y dónde?

  Quizá en algún momento será necesario poner algunas palabras en el código dirigidas no a Python, sino a las personas quienes estén leyendo el código con el fin de explicarles como es que funciona, o tal vez especificar el significado de las variables, también para documentar quien es el autor del programa y en que fecha fue escrito. Un texto insertado en el programa el cual es,  omitido en la ejecución , es denominado un  comentario . ¿Cómo se colocan este tipo de comentarios en el código fuente? Tiene que ser hecho de cierta manera para que Python no intente interpretarlo como parte del código. Cuando Python se encuentra con un comentario en el programa, el comentario es completamente transparente, desde el punto de vista de Python, el comentario es solo un espacio vacío, sin importar que tan largo sea. En Python, un comentario es un texto que comienza con el símbolo  #  y se extiende hasta el final de la línea. Si se desea colocar un comentario que abarca va...

Puntos Clave

  1. Una   variable   es una ubicación nombrada reservada para almacenar valores en la memoria. Una variable es creada o inicializada automáticamente cuando se le asigna un valor por primera vez. 2. Cada variable debe de tener un nombre único - un  identificador . Un nombre valido debe ser aquel que no contiene espacios, debe comenzar con un guion bajo ( _ ), o una letra, y no puede ser una palabra reservada de Python. El primer carácter puede estar seguido de guiones bajos, letras, y dígitos. Las variables en Python son sensibles a mayúsculas y minúsculas. 3. Python es un lenguaje  de tipo dinámico , lo que significa que no se necesita  declarar  variables en él. Para asignar valores a las variables, se utiliza simplemente el operador de asignación, es decir el signo de igual ( = ) por ejemplo,  var = 1 . 4. También es posible utilizar  operadores de asignación compuesta  (operadores abreviados) para modificar los valores asignados a l...