Tutorial "Pythonizate: Fundamentos de Programación” – Números, Operadores y Tipos de Datos.
Este tutorial está siendo elaborado para enseñarte a programar en Python desde cero hasta un nivel intermedio – avanzado. Al momento de finalizarlo serás capaz de crear software sencillo aplicando los conceptos aprendidos e incluso crear su propia interfaz gráfica.
Indice
Contenido | Post |
---|---|
Introducción | Tutorial "Pythonizate: Aprendiendo a Programar" - Introducción |
Instalación de entorno de desarrollo y primeros programas | "Pythonizate: Aprendiendo a Programar" - Instalación de entorno de desarrollo y primeros programas |
![](https://steemitimages.com/640x0/https://s19.postimg.org/e2kjkd3mr/Screenshot_17.jpg)
![](https://steemitimages.com/640x0/https://s19.postimg.org/64q7zk46r/bitmoji-20180308105410.png)
¡Hola mis queridos Steemians! El objetivo del post hoy es aprender un poco sobre los tipos de datos que maneja Python, sus operadores y familiarizarse con el intérprete interactivo de Python.
![](https://steemitimages.com/640x0/https://s19.postimg.org/e2kjkd3mr/Screenshot_17.jpg)
Para este post y los venideros implementare una nueva dinámica en el Tutorial. En cada ejemplo colocare el código del programa y cuál es la respuesta esperada, es decir, van a ingresar en el interprete lo que sigue después del >>> y en la línea de abajo van a encontrar la respuesta esperada por el interprete a dicha instrucción. Al final del post encontraran un archivo para descargar todos los ejemplos mostrados con sus respectivas imágenes.
¡Comencemos!!!
![](https://steemitimages.com/640x0/https://s19.postimg.org/e2kjkd3mr/Screenshot_17.jpg)
Números
El intérprete de Python puede cumplir la función de una simple calculadora, donde ingresamos una expresión y ella nos devolverá el resultado deseado. Comencemos con unos ejemplos sencillos:
¡Recordemos que cada línea que escribamos en el intérprete es una instrucción de código!
Ejemplo:
1)En este primer ejemplo vamos a realizar una suma
>>> 6+2
Respuesta del interprete
8
En este primer ejemplo le hemos pedido al interprete que nos de el resultado de la suma de 6 + 2 y el nos muestra por pantalla el valor esperado 8.
Ya vimos que podemos trabajar con suma, pero también podemos trabajar con resta, multiplicación y división.
Ejemplos:
2)Resta
>>> 6-2
Respuesta del interprete
4
Como es de esperarse el resultado de la resta de 6-2 es 4
3)Multiplicación
>>> 6*2
Respuesta del interprete
12
Al pedirle al interprete que realice la multiplicación de 6x2 nos da como resultado 12
4)División
>>> 7/2
Respuesta del interprete
3.5
Al pedirle al interprete que realice la división de 7/2 nos da como resultado 3.5
En Python para identificar un numero con decimal se usa un punto no una coma, entonces siempre que veamos un numero con punto significa que es un decimal o como se conoce en los lenguajes de programación un dato tipo punto flotante, de esto hablaremos un poco más adelante.
Para realizar una división con resultado tipo entero usamos el operador “//”. Para entenderlo mejor, hagamos un ejemplo:
Ejemplo:
5)División entero
>>> 7//2
Respuesta del interprete
3
Al pedirle al interprete que realice la división de 7//2 nos da como resultado un valor entero 3, a diferencia del operador “/” que nos da un valor punto flotante 3.5.
Ligado a la división tenemos una operación interesante ”El modulo (%)”. El modulo es el resultado de realizar una división entera y agarrar la parte que resta, es decir, la parte que no se puede dividir por nada más.
Ejemplos:
6)Modulo 1
>>> 7%2
Respuesta del interprete
1
7)Modulo 2
>>> 8%5
Respuesta del interprete
3
8)Modulo 3
>>> 10%6
Respuesta del interprete
4
Veamoslo asi:
El operador de módulo no hace otra cosa que devolvernos el resto de la división entre los dos operandos. En el primer ejemplo, 7/2 sería 3, con 1 de resto, entonces el modulo es 1.
Otra operación que podemos realizar con el interprete es la potencia, con el uso del operador "**”. Para entenderlo mejor, hagamos un ejemplo:
Ejemplo:
9)Si queremos saber cual es la potencia de 24, escribimos la siguiente línea de codigo:
>>> 2**4
Respuesta del interprete
16
El resultado de multiplicar 2x2x2x2 es 16. ¡Perfecto!
![](https://steemitimages.com/640x0/https://s19.postimg.org/e2kjkd3mr/Screenshot_17.jpg)
Como pudimos ver anteriormente Python posee una serie de operadores, estos operadores son símbolos que representan cálculos simples, como la suma, resta, multiplicación, división, etc.
Operador | Descripcion | Ejemplo |
---|---|---|
+ | Suma | 6 + 2 = 8 |
- | Resta o negación | 6 - 2 = 4 |
* | Multiplicación | 6 * 2 = 12 |
** | Exponente | 2 ** 4 = 16 |
/ | División | 7 / 2 = 3.5 |
// | División entera | 7 // 2 = 3 |
% | Modulo | 7 % 2 = 1 |
Pues al combinar nuestros operadores vamos a poder realizar cálculos un poco mas complejos. Veamos los siguientes ejemplos:
Ejemplo:
10)Primer ejemplo
>>> 2-4+6+4
Respuesta del interprete
8
11)Segundo ejemplo
>>> 2-4+6*4
Respuesta del interprete
22
12)Tercer ejemplo
>>> 2/4*6+20-4
Respuesta del interprete
19.0
Con estos ejemplos podemos verificar que Python es capaz de interpretar las reglas de precedencias de las operaciones matemáticas, es decir, la multiplicación y la división se realizan primero, luego se realiza la suma o resta, dependiendo del orden. Para la multiplicación y división, el orden en que se realiza las operaciones sera de izquierda a derecha, y para la suma y resta igual.
Analicemos el primer ejemplo. La expresión “2-4+6+4”, equivale matemáticamente a (((2-4)+6)+4), por eso se dice que el orden para la operaciones de suma y resta es por la izquierda. Veamos una representación gráfica para que quede claro:
En el segundo ejemplo la expresión “2-4+6x4”, equivale matemáticamente a ((6x4)+2)-4). Veamos una representación gráfica para que quede claro:
En el tercer ejemplo la expresión “2/4x6+20-4”, equivale matemáticamente a ((2/4)x6)+20)-4). Veamos una representación gráfica para que quede claro:
Buena practica de programación
Al momento de escribir un programa se suele comenzar con un comentario que indica que hace el programa, también se colocan a lo largo del mismo explicando que función cumple cada parte del código. En Python los comentarios se hacen con el símbolo #, todo lo que va después del símbolo el programa lo ignora, es decir, no tiene efecto sobre el programa. Estos mensajes son destinados al programador o para futuros programadores que quieran usar el código
![](https://steemitimages.com/640x0/https://s19.postimg.org/5ag4jzioj/Screenshot_16.jpg)
Vamos a conversar un poco ahora sobre otros conceptos importantes en la programación. ¿Qué es un valor? ¿Que es una variables?
Valores y Tipos
En la programación un valor es uno de los elementos fundamentales que manipula un programa. Por ejemplo una letra o un numero.
Anteriormente vimos dos ejemplos: los números que pueden ser tipo entero o punto flotante y el mensaje “Hola mundo” que es de tipo cadena de texto, se le llama así porque está compuesta por una cadena de letras. Python reconoce como una cadena de texto a todo aquello que está encerrado entre comillas.
Si no está seguro del tipo de valor, puede preguntárselo al intérprete de Python con la instrucción type()
>>> type("Hola mundo")
Respuesta del interprete
<class 'str'>
El intérprete nos dice <class ‘str’>, que significa “clase str” o tipo strings (cadena en ingles).
Pues averigüémoslo:
>>>type(7)
Respuesta del interprete
<class 'int'>
El intérprete nos dice <class ‘int’>, que significa “clase int” o tipo integer (entero en ingles). Los enteros son precisamente números enteros como 7, 55, 999, etc.
Los números con decimales (se separan mediante un punto como lo habíamos explicado anteriormente) son de tipo float debido a la representación de estos números en el formato llamado de punto flotante (floating-point).
>>>type(7.5)
Respuesta del interprete
<class 'float'>
El intérprete nos dice <class ‘float’>, como dijimos antes son números decimales formato punto flotante (floating-point).
OJO Cuando escriba un entero largo no use coma para separlo en grupo de tres dígitos, simplemente no use comas. Por ejemplo:
>>>1,000,000
Respuesta del interprete
(1, 0, 0)
Python interpreta 1,000,000 como una lista de tres números que debe imprimir.
Variable
Una variable es un espacio de la memoria del ordenador al que nosotros le damos un nombre y le asignamos un valor. Las variables son fundamentales en todos los lenguajes de programación, en Python las variables son fáciles de manipular ya que no tenemos que especificar que tipo de variables es.
Con la sentencia de asignación "=" se le asigna un valor a una variable. Por ejemplo:
13)Ejemplo
>>> a = 7
Luego le consultamos al interprete el valor de la variable colocando su nombre
>>> a
Respuesta del interprete
7
Podemos trabajar con las variables como si fueran números. Por ejemplo:
14)Ejemplo
>>> a + 3
Respuesta del interprete
10
15)Otro ejemplo:
>>> a * 2
Respuesta del interprete
14
Incluso podemos realizar operaciones de la variable con la misma variable. Por ejemplo:
16)Ejemplo
>>> a * a
Respuesta del interprete
49
Tambien podemos realizar operaciones entre varias variables.
17)Ejemplo
>>> b = 10
>>> a + b
Respuesta del interprete
17
18)Otro ejemplo:
>>> c = a + b
>>> c
Respuesta del interprete
17
19)Otro ejemplo:
>>> a * b + 10
Respuesta del interprete
80
Otro dato interesante de las variables es que podemos modificar su valor o alternarlo fácilmente.
20)Por ejemplo:
>>> a = 20
>>> b = 5
>>> a + b
Respuesta del interprete
25
Tambien se puede modificar el valor de la variables asignándole el valor de otra variable.
21)Por ejemplo:
>>> b = a
>>> b
Respuesta del interprete
20
22)Otro ejemplo:
>>> b = b + 15
>>> b
Respuesta del interprete
35
Una variable también puede tener como valor una cadena de caracteres.
23)Por ejemplo:
>>> mensaje = “Hola Steemit”
>>> mensaje
Respuesta del interprete
'Hola steemit'
La sentencia print también funciona con variables.
24)Ejemplo:
>>> print (mensaje)
Respuesta del interprete
Hola steemit
25)Otro ejemplo:
>>> steemit = 30
>>> print (steemit)
Respuesta del interprete
30
Seguro se preguntaran como hacen si quieren imprimir el valor de una variable, cuando tienen un mensaje.
26)Veamos un ejemplo:
>>> edad = 20
>>> print(“Soy vidayaventura y tengo”, edad, “años”)
Respuesta del interprete
Soy vidayaventura y tengo 20 años
Ahora analicemos un poco que fue lo que sucedió: Primero le asignamos a la variable edad el valor de 20, luego mandamos a imprimir el mensaje “Soy vidayaventura y tengo”, edad, “años” el intérprete agarra y muestra lo que está entre comillas y en donde tenemos escrito edad va a mostrar el valor de la variable, para mostrar el valor de una variable en un mensaje seguimos la siguiente regla *”Mensaje”,variable,”resto del mensaje” dividiendo el mensaje con unas comas y el nombre de la variable, al ejecutar el programa no vamos a visualizar el nombre de la variable sino su valor.
Reglas para nombrar a una variable
Regla | Descripción |
---|---|
1 | El nombre no puede empezar con un numero |
2 | El nombre no puede empezar con un espacio |
3 | El nombre no contener símbolos especiales ni contener espacios |
4 | El nombre no puede ser una palabra reservada de Python |
Los nombres de las variables pueden tener una longitud arbitraria. Pueden estar formados por letras y números, pero deben comenzar siempre con una letra. Es recomendable usar siempre minúscula, ya que Python distingue entre mayúsculas y minúsculas: Steemit y steemit son dos variables diferentes.
Veamos unos ejemplos:
27)Ejemplo
>>>7steemit = “Hola steemit”
Respuesta del interprete
SyntaxError: invalid syntax
28)Otro ejemplo:
>>>steemit$ = “Hola mundo”
Respuesta del interprete
SyntaxError: invalid syntax
29)Otro ejemplo:
>>>class = “Pythonyzate”
Respuesta del interprete
SyntaxError: invalid syntax
7steemit es invalido porque no comienza con una letra. Steemit$ es invalido porque posee un carácter invalido, el signo del dólar. Pero ¿Que tiene de malo class?
Pues class es una palabra reservada de Python. Las palabras reservadas son aquellas que los lenguaje de programación usan para definir sus reglas y estructuras, y no pueden usarse como variables.
Python tiene 28 palabras reservadas:
and | continue | else | import | not | raise | for |
---|---|---|---|---|---|---|
assert | def | except | from | in | or | return |
break | del | exec | global | is | pass | try |
class | elif | finally | if | lambda | while |
Cuando el nombre de una variable nos de un error, buscamos las palabras reservadas y comprobamos que no este en la lista.
![](https://steemitimages.com/640x0/https://s19.postimg.org/5ag4jzioj/Screenshot_16.jpg)
Para finalizar este apartado donde vimos los números, operadores y tipos de datos, vamos a realizar un programa donde manejemos variables y hagamos unos cálculos para luego poder visualizar en pantalla el resultado deseado (El programa lo hare en Sublime Text):
1)Realizar un programa donde se visualice la nota de un examen de 5 personas, luego calcular el promedio del examen y sacar ese valor por pantalla.
#Programa que calcula el promedio de 5 estudiantes en un examen
nota_alumn1 = 20
nota_alumn2 = 15
nota_alumn3 = 12
nota_alumn4 = 19
nota_alumn5 = 10
print("La nota de los estudiantes en el primer parcial fue: ")
print("Primer estudiante:",nota_alumn1)
print("Segundo estudiante:",nota_alumn2)
print("Tercer estudiante:",nota_alumn3)
print("Cuarto estudiante:",nota_alumn4)
print("Quinto estudiante:",nota_alumn5)
nota_total = ((nota_alumn1 + nota_alumn2 + nota_alumn3 + nota_alumn4 + nota_alumn5) / 5)
print()
print("La nota promedio del curso en el parcial fue: ",nota_total)
Programa ejecutado
La nota de los estudiantes en el primer parcial fue:
Primer estudiante: 20
Segundo estudiante: 15
Tercer estudiante: 12
Cuarto estudiante: 19
Quinto estudiante: 10
La nota promedio del curso en el parcial fue: 15.2
En la siguiente imagen podemos apreciar el código y la ejecución del programa:
Ejercicio Desafió!!! La primera persona que me envié el código del programa, yo lo compile y cumpla con lo establecido le regalare 0.2 SBD
Guiándose del ejercicio anterior realice un programa con las siguientes especificaciones:
- Se tienen 5 materias: Calculo, física, química, historia y biología.
- Son 6 estudiantes.
- Se realizan 3 evaluaciones por materia, todas en base a 20 puntos.
- Se requiere visualizar la nota total de los estudiantes en cada materia.
- Se requiere visualizar el promedio del salón en cada materia.
- Se requiere visualizar el promedio de cada estudiante en el trimestre cursado.
![](https://steemitimages.com/640x0/https://s19.postimg.org/e2kjkd3mr/Screenshot_17.jpg)
Canal de discord para cargar el codigo Programación Steemit
Enlace directo Descarga: Ejemplos y ejercicio
"El ser humano es inteligente por naturaleza, la tecnologia es solo un complemento"
╭════════════╮
Sígueme en mi Blog
╰════════════╯
![GIF](https://steemitimages.com/0x0/https://s19.postimg.org/qm6hgfpv7/GIF.gif)
¡Felicitaciones!
Puedes consultar el reporte diario de curación visitando @entropia
Gracias por el apoyo
Excelente labor que haces con los tutoriales de este entorno de programación que al usarlo con un Arduino podemos obtener resultados muy amplios en todas las ramas de la ciencia, tecnología, ingeniería y matemáticas. Buen trabajo mi estimado @vidayaventura
Muchas gracias mi estimado. Si combinamos Python con Arduino podemos trabajar con IoT, adicional a eso Python sirve a la comunidad científica por su simple sintaxis, ellos la usan para Machine Learning, big data, etc. Te invito a estar muy pendiente de los próximos post y a realizar el ejercicio desafió. Saludos
ADVERTENCIA: El Equipo de Curación dropahead no necesariamente comparte las opiniones expresadas en este artículo. Sin embargo, creemos que el esfuerzo y/o contribución del autor merece una mejor recompensa y visibilidad.
¡Para maximizar sus recompensas de curación!
con SteemConnect
12.5SP, 25SP, 50SP, 100SP, 250SP, 500SP, 1000SP
Haciendo lo anterior tendremos más Steem Power (SP) ¡Para poder brindarle mayores recompensas la próxima vez!
Noticias de dropahead: Como retribuir al Proyecto dropahead en 15 segundos o menos
Control de calidad del Equipo de Curación dropahead
De acuerdo a nuestros estándares de calidad(1), su publicación ha alcanzado una calificación de 88%.
Bien dijo Gabriel García Marquez: "Se aprende a escribir escribiendo" ¡Siga esforzandose, pronto alcanzará la excelencia!
(1) Estándares de calidad de dropahead Witness:
- Relación gráfica al texto (Elección de imágenes de acuerdo al texto)
- Orden y Coherencia
- Estilo y autenticidad (Toque personal, lógica, complejidad, lo que hace que sea interesante y fácil de entender para el lector)
- Fuente de las imágenes y su licencia de uso
Although my upvote is small I am happy to share it with you.
Gracias por tan buen aporte, excelente manual de python, anduve buscando algo similar y no lo había encontrado, un manual trabajado con dedicación y sobre todo mucha metodología. Excelente aporte amigo, espero que sigas publicando en esta misma línea. Saludos y un abrazo fraterno.
Gracias por tomarte el tiempo de leer el tutorial, te invito a que resuelvas el ejercicio para ganarte 0.2 SBD. Saludos
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by vidayaventura from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.
Hola como estas, estoy muy oxidado aunque me gusto la programación cuando la vi en la universidad la deje completamente, creo que la forma más fácil sería hacer una matriz para poder cargar de una vez nombres, materias y sus respectivas notas y luego leerlas para sacar promedios visualizar notas etc, la verdad no recuerdo cómo hacerlo jeje y este lenguaje nunca lo utilice, voy a tratar de hacer como dirían a “pata” saludos
¡Hola @hendersonp! La idea del ejercicio es hacerlo lo más básico posible, solo con las lecciones dadas hasta el momento. Que tenga un excelente dia
¡Felicitaciones! ¡Este post ha sido galardonado con un 100% de votos positivos por @sorteo! Esta publicación se seleccionó entre todas las publicaciones recientes como ganadora de la lotería #103, que no tenía participantes válidos. ¡Puedes volver a ganar participando en la lotería habitual de @sorteo! Para nominar una publicación para la lotería regular, solo envíe 0.1 SBD o STEEM a @sorteo, e incluya la url de la publicación que le gustaría nominar como una nota. ¡Buena suerte!