Entradas

Presentación

 Hola comunidad de la web.  Mi nombre es Esau Cruz Vasconcelos, estudiante de la Carrera Ingeniería en Sistemas Computacionales en la Universidad Juárez Autónoma de Tabasco. Es grato para mi poder compartirles mi conocimiento a lo largo de mi trayectoria académica, en este caso el lenguaje de programación Python. A lo largo del curso, veremos toda la información respecto a este lenguaje, tales como: Historia, concepto, manejo del lenguaje (operadores, condiciones, etc.) ejercicios y otras cosas las cuales nos harán conocer el lenguaje. Bien sin más que decir, te mando un saludo y bienvenido a este curso. Comencemos…

¿Que hace especial a Phyton?

Imagen
¿Por qué los programadores, jóvenes y viejos, experimentados y novatos, quieran usarlo? ¿Cómo fue que las grandes empresas adoptaron Python e implementaron sus productos estrella al usarlo? Hay muchas razones. Ya hemos enumerado algunas de ellas, pero vamos a enumerarlas de una manera más práctica: Es  fácil de aprender  - El tiempo necesario para aprender Python es más corto que en muchos otros lenguajes; esto significa que es posible comenzar la programación real más rápido. Es  fácil de enseñar  - La carga de trabajo de enseñanza es menor que la que necesitan otros lenguajes; esto significa que el profesor puede poner más énfasis en las técnicas de programación generales (independientes del lenguaje), no gastando energía en trucos exóticos, extrañas excepciones y reglas incomprensibles. Es  fácil de utilizar  - Para escribir software nuevo; a menudo es posible escribir código más rápido cuando se usa Python. Es  fácil de entender  - A menudo, t...

Los objetivos de Python

Imagen
  En 1999, Guido van Rossum definió sus objetivos para Python: Un lenguaje  fácil e intuitivo  tan poderoso como los de los principales competidores. De  código abierto , para que cualquiera pueda contribuir a su desarrollo. El código que es tan  comprensible  como el inglés simple. Adecuado para tareas cotidianas , permitiendo tiempos de desarrollo cortos. Unos 20 años después, está claro que todas estas intenciones se han cumplido. Algunas fuentes dicen que Python es el lenguaje de programación más popular del mundo, mientras que otros afirman que es el tercero o el quinto. De cualquier manera, todavía ocupa un alto rango en el top ten de la  PYPL Popularity of Programming Language  y la  TIOBE Programming Community Index . Python no es una lengua joven.  Es maduro y digno de confianza . No es una maravilla de un solo golpe. Es una estrella brillante en el firmamento de programación, y el tiempo dedicado a aprender Python es una muy bu...

Un proyecto de programacion por hobby

Las circunstancias en las que se creó Python son un poco desconcertantes. Según Guido van Rossum: En diciembre de 1989, estaba buscando un proyecto de programación de "pasatiempo" que me mantendría ocupado durante la semana de Navidad. Mi oficina (...) estaría cerrada, pero tenía una computadora en casa y no mucho más en mis manos. Decidí escribir un intérprete para el nuevo lenguaje de scripting en el que había estado pensando últimamente: un descendiente de ABC que atraería a los hackers de Unix / C. Elegí Python como un título de trabajo para el proyecto, estando en un estado de ánimo ligeramente irreverente (y un gran fanático de Monty Python's Flying Circus). Guido van Rossum

¿Que es Python? ¿Quien creo Python?

Imagen
  ¿Qué es Python? Python es un lenguaje de programación de alto nivel, interpretado, orientado a objetos y de uso generalizado con semántica dinámica, que se utiliza para la programación de propósito general. Y aunque puede que conozcas a la pitón como una gran serpiente, el nombre del lenguaje de programación Python proviene de una vieja serie de comedia de la BBC llamada  Monty Python's Flying Circus . En el apogeo de su éxito, el equipo de Monty Python estaba realizando sus escenas para audiencias en vivo en todo el mundo, incluso en el Hollywood Bowl. Dado que Monty Python es considerado uno de los dos nutrientes fundamentales para un programador (el otro es la pizza), el creador de Python nombró el lenguaje en honor del programa de televisión. ¿Quién creó Python? Una de las características sorprendentes de Python es el hecho de que en realidad es el trabajo de una persona. Por lo general, los grandes lenguajes de programación son desarrollados y publicados por grandes com...

Compilacion VS. Interpretacion - Ventajas y desventajas

  Compilación vs. Interpretación - Ventajas y Desventajas COMPILACIÓN INTERPRETACIÓN VENTAJAS La ejecución del código traducido suele ser más rápida. Solo el usuario debe tener el compilador; el usuario final puede usar el código sin él. El código traducido se almacena en lenguaje máquina, ya que es muy difícil de entender, es probable que tus propios inventos y trucos de programación sigan siendo secreto. Puede ejecutar el código en cuanto lo complete; no hay fases adicionales de traducción. El código se almacena utilizando el lenguaje de programación, no el de la máquina; esto significa que puede ejecutarse en computadoras que utilizan diferentes lenguajes máquina; no compila el código por separado para cada arquitectura diferente. DESVENTAJAS La compilación en sí misma puede llevar mucho tiempo; es posible que no puedas ejecutar tu código inmediatamente después de cualquier modificación. Tienes que tener tantos compiladores como plataformas de hardware en los que deseas que se e...

¿Que realmente hace el interprete?

Imagen
  Supongamos una vez más que has escrito un programa. Ahora, existe como un  archivo de computadora : un programa de computadora es en realidad una pieza de texto, por lo que el código fuente generalmente se coloca en  archivos de texto . Nota: debe ser  texto puro , sin ninguna decoración, como diferentes fuentes, colores, imágenes incrustadas u otros medios. Ahora tienes que invocar al intérprete y dejar que lea el archivo fuente.El intérprete lee el código fuente de una manera que es común en la cultura occidental: de arriba hacía abajo y de izquierda a derecha. Hay algunas excepciones: se cubrirán más adelante en el curso. En primer lugar, el intérprete verifica si todas las líneas subsiguientes son correctas (utilizando los cuatro aspectos tratados anteriormente). Si el compilador encuentra un error, termina su trabajo inmediatamente. El único resultado en este caso es un  mensaje de error . El intérprete le informará dónde se encuentra el error y qué lo ca...

Compilacion VS. Interpretacion

  La programación de computadora es el acto de establecer una secuencia de instrucciones con la cual se causará el efecto deseado. El efecto podría ser diferente en cada caso específico: depende de la imaginación, el conocimiento y la experiencia del programador. Por supuesto, tal composición tiene que ser correcta en muchos sentidos, tales como: Alfabéticamente:  Un programa debe escribirse en una secuencia de comandos reconocible, por ejemplo, el Romano, Cirílico, etc. Léxicamente:  Cada lenguaje de programación tiene su diccionario y necesitas dominarlo; afortunadamente, es mucho más simple y más pequeño que el diccionario de cualquier lenguaje natural. Sintácticamente:  Cada idioma tiene sus reglas y deben ser obedecidas. Semánticamente:  El programa tiene que tener sentido. Desafortunadamente, un programador también puede cometer errores en cada uno de los cuatro sentidos anteriores. Cada uno de ellos puede hacer que el programa se vuelva completamente inút...

¿Que hace un lenguaje?

Podemos decir que cada idioma (máquina o natural, no importa) consta de los siguientes elementos: ALFABETO Un conjunto de símbolos utilizados para formar palabras de un determinado idioma (por ejemplo, el alfabeto latino para el inglés, el alfabeto cirílico para el ruso, el kanji para el japonés, etc.). LÉXICO (También conocido como diccionario) un conjunto de palabras que el idioma ofrece a sus usuarios (por ejemplo, la palabra "computadora" proviene del diccionario en inglés, mientras que "abcde" no; la palabra "chat" está presente en los diccionarios de inglés y francés, pero sus significados son diferentes. SINTAXIS Un conjunto de reglas (formales o informales, escritas o interpretadas intuitivamente) utilizadas para precisar si una determinada cadena de palabras forma una oración válida (por ejemplo, "Soy una serpiente" es una frase sintácticamente correcta, mientras que "Yo serpiente soy una" no lo es). SEMÁNTICA Un conjunto de re...

Lenguajes naturales VS. Lenguajes de programacion

Imagen
Un lenguaje es un medio (y una herramienta) para expresar y registrar pensamientos. Hay muchos lenguajes a nuestro alrededor. Algunos de ellos no requieren hablar ni escribir, como el lenguaje corporal. Es posible expresar tus sentimientos más profundos de manera muy precisa sin decir una palabra. Otro lenguaje que empleas cada día es tu lengua materna, que utilizas para manifestar tu voluntad y para pensar en la realidad. Las computadoras también tienen su propio lenguaje, llamado lenguaje  máquina , el cual es muy rudimentario. Una computadora, incluso la más técnicamente sofisticada, carece incluso de un rastro de inteligencia. Se podría decir que es como un perro bien entrenado, responde solo a un conjunto predeterminado de comandos conocidos. Los comandos que reconoce son muy simples. Podemos imaginar que la computadora responde a órdenes como "Toma ese número, divídelo por otro y guarda el resultado". Un conjunto completo de comandos conocidos se llama  lista de instruc...

¿Como funciona un programa de computadora?

Este curso tiene como objetivo explicar el lenguaje Python y para que se utiliza. Vamos a comenzar desde los fundamentos básicos. Un programa hace que una computadora sea utilizable. Sin un programa, una computadora, incluso la más poderosa, no es más que un objeto. Del mismo modo, sin un pianista, un piano no es más que una caja de madera. Las computadoras pueden realizar tareas muy complejas, pero esta habilidad no es innata. La naturaleza de una computadora es bastante diferente. Una computadora puede ejecutar solo operaciones extremadamente simples, por ejemplo, una computadora no puede evaluar el valor de una función matemática complicada por sí misma, aunque esto no está más allá de los límites posibles en un futuro próximo. Las computadoras contemporáneas solo pueden evaluar los resultados de operaciones muy fundamentales, como sumar o dividir, pero pueden hacerlo muy rápido y pueden repetir estas acciones prácticamente cualquier cantidad de veces. Imagina que quieres saber la v...

¡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)