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 valores True y False

  • NoneType -> especial y tiene un solo valor None (corresponde a la ausencia, como el conjunto vacio)

1.2.2.2. Funciones asociadas a los tipos#

  • type() -> imprime el tipo de un objeto

  • int() -> transforma un número decimal en un entero por truncación

  • float() -> transforma un entero en un decimal

  • round() -> 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 por j: i % j

  • i elevado a j: i**j

1.2.3.2. Orden de ejecución de los operadores numéricos#

  1. **

  2. *

  3. /

  4. + 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 que j. Toma el valor True si i y j coinciden, False si no.

  • Diferentes: i!=j -> i distinto de j. Toma el valor True si i y j difieren, False si no.

  • Menor: i<j -> i menor que j

  • Mayor: i>j -> i mayor que j

  • Menor o igual: i<=j -> i menor o igual que j

  • Mayor o igual: i>=j -> i mayor o igual que j

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

Cuestionario Tipos Básicos, Operadores

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ódigo

  • una 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

Cuestionario Asignación

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 expresion print('Hello word') es NoneType. Hay expresiones que tiene un valor de un tipo determinado y otras que no lo tienen. A estas se el asigna el valor None del tipo NoneType

  • '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() 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 python

    • usa el comando python o python3 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#

  1. Definir una variable de nombre mi_edad y asignarle como valor tu edad.

  2. Pregunta el valor de a e imprime el perímetro y el área de un cuadrado de lado a.

  3. Definir las variables a y b e imprime el área de un rectángulo de lados a y b.

  4. Pregunta la edad e imprime la edad que tendrias dentro de 18 años

  5. Pregunta los extremos de un intervalo [a,b] e imprime el punto medio del intervalo.

  6. Pide un símbolo y dibuja un cuadrado 4x4 con ese símbolo

1.2.9. Cuestionario Moodle#

Cuestionario Tipos Básicos, Operadores, Asignación

Cuestionario Programa Simple