Ejercicio 05
C.S Ingenieros
Curso: Python para ingenieria civil
Instructor: Edwin Charapaqui Sedano
Tema: Tipos de datos
Clase: 01 Fecha: 12 de Enero 2021
Tipos de datos
Números enteros
Un número de tipo int se crea a partir de un literal que represente un número entero o bien como resultado de una
expresión o una llamada a una función.
1 1 >>> a = -1 # a es de tipo int y su valor es -1
2 2 >>> b = a + 2 # b es de tipo int y su valor es 1
3 3 >>> print(b)
Números de punto flotante
Puedes usar el tipo float sin problemas para representar cualquier número real (siempre teniendo en cuenta que es una
aproximación lo más precisa posible). Por tanto para longitudes, pesos, frecuencias, . . . , en los que prácticamente es
lo mismo 3,3 que 3,3000000000000003 el tipo float es el más apropiado. Cuando un número float vaya a ser usado
por una persona, en lugar de por el ordenador, puedes darle formato al número de la siguiente manera:
1 1 >>> real = 1.1 + 2.2 # real es un float
2 2 >>> print(real)
3 3 3.3000000000000003 # Representacion aproximada de 3.3
4 4 >>> print(f’{real :.2f}’)
5 5 3.30 # real mostrando unicamente 2 cifras decimales
Números complejos
Los números complejos tienen una parte real y otra imaginaria y cada una de ellas se representa como un float. Para
crear un número complejo, se sigue la siguiente estructura <parte real>+ <parte imaginaria>j. Y se puede acceder
a la parte real e imaginaria a través de los atributos real e imag:
1 1 >>> complejo = 1+2j
2 2 >>> complejo .real
3 3 1.0
4 4 >>> complejo .imag
5 5 2.0
Tipo booleano
En Python la clase que representa los valores booleanos es bool. Esta clase solo se puede instanciar con dos valores
/objetos: True para representar verdadero y False para representar falso. Una particularidad del lenguaje es que
cualquier objeto puede ser usado en un contexto donde se requiera comprobar si algo es verdadero o falso. Por tanto,
cualquier objeto se puede usar en la condición de un if o un while (son estructuras de control) o como operando
de una operación booleana. Los valores booleanos son además el resultado de expresiones que utilizan operadores
relacionales (comparaciones entre valores):
Tipo cadena de caracteres
Otro tipo básico de Python, e imprescindible, son las secuencias o cadenas de caracteres. Este tipo es conocido como
string aunque su clase verdadera es str. Formalmente, un string es una secuencia inmutable de caracteres en formato
Unicode. Para crear un string, simplemente tienes que encerrar entre comillas simples ” o dobles una secuencia
de caracteres. Se puede usar indistintamente comillas simples o dobles, con una particularidad. Si en la cadena de
caracteres se necesita usar una comilla simple, tienes dos opciones: usar comillas dobles para encerrar el string, o
bien, usar comillas simples pero anteponer el carácter a la comilla simple del interior de la cadena. El caso contrario
es similar.
Edwin Charapaqui Sedano 1
1 1 >>> hola = ’Hola " Pythonista "’
2 2 >>> hola_2 = ’Hola \’ Pythonista \’’
3 3 >>> hola_3 = "Hola ’Pythonista ’"
4 4 >>> print (hola)
5 5 Hola " Pythonista "
6 6 >>> print ( hola_2 )
7 7 Hola ’Pythonista ’
8 8 >>> print ( hola_3 )
9 9 Hola ’Pythonista ’
Otros tipos
Hasta aquí hemos repasado los tipos de datos básicos de Python, sin embargo, el lenguaje ofrece muchos tipos más.
Te hago aquí un avance de los más importantes, aunque los veremos en detalle en otros tutoriales. Además de los
tipos básicos, otros tipos fundamentales de Python son las secuencias (list y tuple), los conjuntos (set) y los mapas
(dict).
Las listas son secuencias mutables de valores.
Las tuplas son secuencias inmutables de valores.
Los conjuntos se utilizan para representar conjuntos únicos de elementos, es decir, en un conjunto no pueden
existir dos objetos iguales.
Los diccionarios son tipos especiales de contenedores en los que se puede acceder a sus elementos a partir de
una clave única.
1 1 >>> lista = [1, 2, 3, 8, 9]
2 2 >>> tupla = (1, 4, 8, 0, 5)
3 3 >>> conjunto = set ([1, 3, 1, 4])
4 4 >>> diccionario = {’a’: 1, ’b’: 3, ’z’: 8}
5 5 >>> print ( lista)
6 6 [1, 2, 3, 8, 9]
7 7 >>> print ( tupla)
8 8 (1, 4, 8, 0, 5)
9 9 >>> print ( conjunto )
10 10 {1, 3, 4}
11 11 >>> print ( diccionario )
12 12 {’a’: 1, ’b’: 3, ’z’: 8}
Operadores
Veamos ahora qué podemos hacer con nuestros números usando los operadores por defecto. Para operaciones más
complejas podemos recurrir al módulo math.
Tabla 1.1: Operadores aritméticos
Operador Descripción Ejemplo
+ Suma r = 3 + 2 ] r es 5
- Resta r = 4 - 7 ] r es -3
- Negacion r = -7 ] r es -7
* Multiplicacion r = 3 * 2 ] r es 6
** Exponente r = 2 * *6 ] r es 64
/ División r = 3,5/2 ] r es 1.75
// División entera r = 3,5//2 ] r es 1.0
% Módulo r = 7 %2 ] r es 1
Cuadro 1
Edwin Charapaqui Sedano 2
0.1. Ejemplo aplicativo
De acuerdo a la ecuación de Hazen-Williams para el cálculo de la perdida de carga se tiene lo siguiente
−1,85185185185 1,85185185185
CH Q L
h f = 1745155,28068
D4,87037037037
Donde:
h f : Pérdida de carga en metros (m).
C H : Coeficiente de Hazen-Williams
Q: Caudal el Litros por segundo (L/s).
L: Longitud en kilómetros (Km).
D: Diámetro en pulgadas (pulg).
Calcular h f par los siguientes datos C H = 100, Q = 25 l/S , L = 120 m y D = 12 pulg
Solución
1 # datos
2 CH =100
3 Q=25 # Caudal (l/s)
4 L=120 # Longitud en ( metros )
5 D=12 # Diametro de la tuberia ( pulgadas )
6
7 hf =1745155.28068*( CH **( -1.85185185185) *Q **(1.85185185185) *L)/(D **(4.87037037037) )
8
9 print ("hf = ",hf ," m")
Edwin Charapaqui Sedano 3