Tipos básicos y sus operadores: los números y los valores binarias
Contents
1.2. Tipos básicos y sus operadores: los números y los valores binarias#
1.2.1. Contenido#
1.2.2. Tipos básicos de datos#
Enlaces
1.2.2.1. Tipos básicos#
int
-> los enteros, ej.5
float
-> los números decimales, ej.3.27
bool
-> el tipo binario (booleano) con valoresTrue
yFalse
NoneType
-> especial y tiene un solo valorNone
(corresponde a la ausencia, como el conjunto vacio)
1.2.2.2. Funciones asociadas a los tipos#
type()
-> imprime el tipo de un objetoint()
-> transforma un número decimal en un entero por truncaciónfloat()
-> transforma un entero en un decimalround()
-> transforma un número decimal en un entero por redondeo
Ejemplos
type(0)
int
type(3.2)
float
type?
help(type)
Observación int y float también funcionan como operadores de conversión
Ejemplos
int(4.3)
4
float(4)
4.0
int(8), int(4.2), float(3), round(7.49), round(7.5)
(8, 4, 3.0, 7, 8)
Importante:
La instrucción round
funciona de acuerdo a [https://es.wikipedia.org/wiki/Redondeo]:
round(35.5),round(36.5),round(37.5),round(38.5)
(36, 36, 38, 38)
1.2.2.2.1. Tipo booleano#
Es un tipo de dato que toma solo dos valores: True y False
Observación: True y False deben escribirse con mayúsculas
Ejemplos
type(True)
bool
type(False)
bool
1.2.3. Operadores#
Operadores numéricos
Operadores con booleanos
Operadores de comparación
Enlaces
1.2.3.1. Operadores numéricos: las expresiones que se construyen con estos operadores tienen valor numérico, entero o decimal, según el caso#
suma:
i+j
diferencia:
i-j
producto:
i * j
división:
i / j
división entera:
i // j
resto de dividir
i
porj
:i % j
i
elevado aj
:i**j
1.2.3.2. Orden de ejecución de los operadores numéricos#
**
*
/
+
y-
, de izquierda a derecha según aprezcan en la expresión
Ejemplos
type(5/2), type(4/2), type(4//2), type(4%2)
(float, float, int, int)
4 + 3.2, 7/3.2, 7//2, 7%2, 3**2
(7.2, 2.1875, 3, 1, 9)
3+4-5, 3+4*5, (3+4)*5
(2, 23, 35)
43//5
8
43%5
3
23 + 4*5
43
3-4+2, (3-4)+2, 3-(4+2),3+((-4)+2)
(1, 1, -3, 1)
1.2.3.3. Operaciones con datos booleanos#
Hay tres operaciones: and
, or
, not
p |
q |
p and q |
p or q |
---|---|---|---|
True |
True |
True |
True |
True |
False |
Fale |
True |
False |
True |
False |
True |
False |
False |
False |
False |
p |
not p |
---|---|
True |
False |
False |
True |
Ejemplos
True and False
False
not True
False
1.2.3.4. Operadores de comparación#
Las expresiones que se construyen con estos operadores tienen valor binario, True
o False
según el caso
Identidad:
i==j
->i
igual quej
. Toma el valor True sii
yj
coinciden, False si no.Diferentes:
i!=j
->i
distinto dej
. Toma el valor True sii
yj
difieren, False si no.Menor:
i<j
->i
menor quej
Mayor:
i>j
->i
mayor quej
Menor o igual:
i<=j
->i
menor o igual quej
Mayor o igual:
i>=j
->i
mayor o igual quej
Ejemplos
7 >= 8, 3.5 >= int(3.5), 3 != 3.0
(False, True, False)
(7 > 3) and (4 > 3), (7 > 3) and (4 > 10)
(True, False)
(7 > 3) or (4 > 3), (7 > 3) or (4 > 10), (7 > 15) or (4 > 10)
(True, True, False)
not True
False
3.2 == 3
False
3.2 != 3
True
3.2 > 3
True
(2 > 3) or (3 > 2)
True
Cuestionario de Moodle
1.2.4. Variables#
Asignación
Nombres
Reasignación
Asignación múltiple
Operaciones con variables
Enlaces
La expresión
m = 3
guarda el valor entero, 3, en un lugar determiado de la memoria que puede ser utilizado inmediantamente utilizando la letra m
.
Una variable es
un espacio de la memoria del ordenador y
un enlace entre la letra
m
y el valor 3.
La expresión m = 3
es una asignación
Podemos imaginar las variables como una especie de caja donde se almacena un dato.
Una variable se define al asignarle un valor:
m = 3
el operador de asignación = coloca el número 3 en la caja con nombre m
Las variables tendrán el tipo del dato que se ha almacenado en ellas.
m
3
type(m)
int
m + 3
6
Puedo cambiar el valor de la variable asociada a la letra m
; en ese caso se la variable cambia de valor
m = 2
m
2
radio = 3
pi = 3.14
area = pi * radio**2
Evitaremos, por lo general, usar tildes en los nombres de las variables
area
28.26
radio = 2
area
28.26
Obsérvese que al reasignar el valor de la variable radio
no cambia el valor de la variable area
1.2.4.1. Nombres para las variables#
no pueden empezar con un número
no pueden tener espacios en blanco
no pueden ser palabras reservadas de Python como
False
,True
,and
,or
,not
, etc …las letras mayúsculas son significativas
si contienen más de una palabra es mejor separarlas por guiones bajos, como
radio_de_la_esfera
, para mantener la legibilidad del códigouna opción alternativa es usar las mayúsculas:
radioDeLaEsfera
En general, se recomienda usar como nombres de variables palabras separadas por guiones bajos (por ejemplo, mi_casa) El nombre no debe coincidir con las palabras reservadas de Python o keywords
help("keywords")
Here is a list of the Python keywords. Enter any keyword to get more help.
False class from or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not
Ejemplos
una nube = 4
Input In [41]
una nube = 4
^
SyntaxError: invalid syntax
una_nube = 4
una_nube
4
1a = 5
Input In [44]
1a = 5
^
SyntaxError: invalid syntax
try = 9
Input In [45]
try = 9
^
SyntaxError: invalid syntax
a-b = 45
Input In [46]
a-b = 45
^
SyntaxError: cannot assign to operator
Cuestionario de Moodle
1.2.4.2. Reasignación#
Si asignamos un valor a una variable que ya ha sido definida, esta tomará el nuevo valor.
S = 10
S
10
S = 4
S
4
1.2.4.3. Asignación múltiple#
Podemos asignar valores a varias variables simultáneamente:
mayor, menor = 12, 5
mayor
12
menor
5
a, b, c, d = 1, 2, 3, 4
b
2
a, b, c, d
(1, 2, 3, 4)
menor, b
(5, 2)
La asignación múltiple permite intercambiar los valores de dos variables:
x = 2
y = 5
x
2
y
5
x, y = y, x
x
5
y
2
Observación: Para intercambiar el valor de dos variables sin asignación múltiple hace falta una variable auxiliar
x=2
y=5
print(x,y)
aux = x
x=y
y=aux
print(x,y)
2 5
5 2
1.2.4.4. Operaciones con variables#
Con las variables se pueden realizar aquellas operaciones definidas para su tipo
a, b = 4, 6
a + b
10
a**b
4096
P = True
Q = False
P and Q
False
not P
False
1.2.5. Salida de datos (por pantalla)#
Usamos la función print()
Enlaces
El comando print imprime en pantalla el valor de la expresión entre paréntesis
La función
print()
escribe en la pantalla. Esta función produce un acción (escribir en la pantalla), pero no tiene un valor. Por esto la expresionprint('Hello word')
esNoneType
. Hay expresiones que tiene un valor de un tipo determinado y otras que no lo tienen. A estas se el asigna el valorNone
del tipoNoneType
'Hello world'
es una cadena, un tipo que sirve para tratar texto. Letras entre comillas, dobles o simples forman objetos del tipo cadena (string en inglés.)
Ejemplos
print('Hello word')
Hello word
type(print('Hello world'))
Hello world
NoneType
type('Hello word')
str
print(4)
4
a, b = 2, 5
print(a**2 + b**3)
129
1.2.6. Entrada de datos (por teclado)#
Usamos la función input()
Enlaces
la función
input()
: w3schools
La función input()
permite asignar el valor a una variable introducido por teclado. Permitirá hacer programas que requieran que el usuario introduzca directamente datos para la ejecución.
A = input('diga el valor para A ')
A
lo que se escribe entre paréntesis se muestra al ejecutar la instrucción
una vez escrito el valor presionamos la tecla Intro
a la variable A se le asigna el valor que hemos escrito entre comillas (es un tipo de dato llamado cadena), para poder usarlo tenemos que convertirlo a número con los operadores int() o float
Q = input('Introduce un número real ')
print(float(Q) + 3.1)
m1 = input('Escribe un número entero: ')
type(m1)
Vamos a cambiar el tipo de la entrada para que podamos usar convenientemente el dato obtenido con el método input
m2 = int(input('Escribe un número entero: '))
m2
type(m1), type(m2)
radio = float(input('Escribe un número decimal: '))
radio
área = pi * radio**2
área
1.2.7. Programa (script)#
Es un conjunto de expresiones o de órdenes que producen acciones del ordenador
Este conjunto de expresiones representan un conjunto ordenado de pasos a realizar para resolver un problema <- Receta
Cómo ejecutar un programa desde Jupyter para que se realice la tarea deseada
Se escriben todas las órdenes en líneas consecutivas en una celda de código y se ejecuta
Ejemplo
Escribir un pequeño programa que pida un valor que será el radio de un círculo y que devuelve su área
radio = float(input('Proporciona el valor del radio: '))
area = 3.14 * radio**2
area
radio = float(input('Proporciona el valor del radio: '))
area = 3.14 * radio**2
print('El área es:')
print(area)
1.2.7.1. Cómo crear un programa#
También se pueden escribir las órdenes en un fichero con extensión .py
, y ejecutar este fichero.
Con Jupyter
en el navegador de ficheros de Jupyter abrir un fichero de texto
elegir el tipo Python
escribir las órdenes del programa
guardardarlo con la opción
save
volver al cuaderno y escribir en una celda de código el comando
run
seguido del nombre del fichero
Desde la línea de comandos
escribir las órdenes con un editor de texto básico
guardar el fichero con extensión
.py
Ejecutar el fichero
.py
usando el intérprete de pythonusa el comando
python
opython3
según la versión del intérprete que se quiera usar, por ejemplo:>python3 ruta/fichero.py
ejecutar la instrucción
run fichero.py
en una celda de Jupyter
run area
Ejemplo
Escribir un programa que de el volumen de un cilindro. El programa debe pedir el radio de la base y la altura
radio = float(input('Radio del cilindro: '))
altura = float(input('Altura del cilindro: '))
volumen = 3.14 * radio ** 2 * altura
print('El volumen del cilindro es: ')
print(volumen)
run volumen_cilindro
1.2.7.2. Programa como receta. Elementos de un programa#
Un programa es un conjunto de expresiones que constituyen un conjunto ordendo de pasos mecánicos que la máquina debe realizar para resolver un problema
Es como una receta para hacer una una tortilla francesa, por ejemplo. Tenemos siempre los siguientes elementos
datos de entrada -> huevos, sal, aceite, sartén …
datos de salida -> la tortilla
operaciones básicas -> coger un recipiente, coger una sartén …
operaciones que se realizan según se verifique una condición a no -> echar sal o no dependiendo de la situación coronaria del comensal -> bifurcación
operaciones que se repiten hasta que se verifique alguna condicón -> batir los huevos hasta que tengamos una mezcla adecuada de clara y yema -> iteración
procedimiento para determinar cuándo hay que parar
Hay por lo tanto una serie de pasos a dar u órdenes que ejecutar, y procedimientos que controlan el orden en el que se ejecutan:
secuencialmente: siguiendo el orden en el están escritas esas órdenes en el programa
con bifurcaciones: cuando hay que elegir entre dos o más órdenes
mediante iteraciones: se ejecuta la misma orden hasta que se verifica una condición de parada
La iteración y la bifurcación son los elementos para el control de flujo de la ejecución de las órdenes contenidas en un programa
1.2.8. Ejercicios#
Definir una variable de nombre
mi_edad
y asignarle como valor tu edad.Pregunta el valor de
a
e imprime el perímetro y el área de un cuadrado de ladoa
.Definir las variables
a
yb
e imprime el área de un rectángulo de lados a y b.Pregunta la edad e imprime la edad que tendrias dentro de 18 años
Pregunta los extremos de un intervalo
[a,b]
e imprime el punto medio del intervalo.Pide un símbolo y dibuja un cuadrado 4x4 con ese símbolo