Python aplicado a la Electricidad y Electrónica (14)

Siguiendo con esta serie de artículos dedicados al lenguaje Python veremos ahora que son los diccionarios y las tuplas, aplicándolos al cálculo de la resistencia de un conductor.

Los materiales conductores de la electricidad tienen una resistencia baja, pero no nula. Un cable o un alambre tienen una resistencia cuyo valor está determinado por varios factores: el material del que está construido, su longitud, su sección y también de la temperatura a la que está expuesto. Dejando de lado por un momento la influencia de la temperatura, la resistencia de un conductor está dada por la siguiente fórmula:

Donde:

R = resistencia del conductor [Ω]

p (rho) = resistividad del material [ Ω.mm2/m]

L = longitud del conductor [m]

S = sección transversal del conductor [mm2]

Si quieren profundizar un poco mas, pueden revisar este otro artículo que se ocupa del tema, ahora vamos a escribir un programa en Python para calcular la resistencia de un conductor.

Si tenemos como datos la resistividad del material, la longitud y sección del conductor, un programa para calcular la resistencia debería tener un input para cada uno de ellos, la aplicación de la fórmula y la presentación del resultado:

Recordemos que la instrucción input devuelve una variable tipo string por lo que debemos pasarla a formato de número real con float.

Usando la siguiente tabla con algunos valores de resistividad podemos poner a prueba nuestro programa:

Valores de resistividad

En este caso probamos tres materiales diferentes: Plata, cobre y aluminio con la misma longitud (1000 metros) y sección (4 mm cuadrados). Como se puede apreciar, la resistencia del cable de Aluminio es casi el doble que un hipotético cable de plata (pero mucho mas barato).

Como vimos en artículos anteriores, es conveniente prevenir aquellas situaciones en las que nuestro programa puede devolver un error. En este caso, esto ocurriría si la sección es cero, así que vamos a evitar esta condición con una instrucción if:

Hasta ahora hemos utilizado elementos del lenguaje que ya habíamos aprendido con anterioridad, así que vamos a agregar algo nuevo. Para no tener que recurrir a la tabla de resistividad, vamos a incluirla de alguna manera dentro del programa, así como hicimos con los códigos de colores y sus valores numéricos que guardamos en una lista en ejemplos anteriores.

Sin embargo en este caso no tenemos una correspondencia directa entre algún valor y un índice numérico que podamos usar para acceder a la lista, así que deberemos recurrir a otra estructura de datos que nos ofrece Python: el diccionario.

Un diccionario es una especie de lista que almacena pares de valores. El primer elemento del par se llama clave (key) y el segundo valor (value). La clave y el valor pueden ser de cualquier tipo y todos los pares se encierran entre llaves “{ }”.

Por ejemplo, un diccionario que almacene las alturas en cm de un grupo de personas tendría el siguiente aspecto:

datos = {“María”: 1.62, “José”: 1.84, “Marcelo”: 1.61}

Para acceder al valor (altura) tenemos que usar la clave (Nombre) de la siguiente forma:

datos [clave]

Veamos un ejemplo:

En un diccionario entonces podríamos guardar los valores de la tabla con pares “nombre”: resistividad, de la siguiente forma (escribo sólo unos pocos de ejemplo):

resistividad = {“Plata”: 0.0158, “Cobre”: 0.017, “Oro”: 0.0222}

Luego podemos recuperar el valor de la resistividad a partir del nombre del material.

En este ejemplo, en lugar de cargar los nombres de los materiales (lo que puede dar lugar a error por el uso o no de acentos, por ejemplo) uso los símbolos químicos (aunque eso implica dejar a un lado materiales compuestos como los aislantes)

Veamos como funciona con algunos materiales:

Ahora, para seguirlo complejizando, digamos que queremos agregar al diccionario el nombre del material, pero no como clave, sino como otro valor. Directamente no podemos, porque el valor debe ser una sola variable, pero si lo podremos lograr si empleamos una tupla.

Una tupla es una estructura de datos muy parecida a una lista. La diferencia fundamental es que la tupla es inmutable, es decir, no se pueden modificar sus elementos una vez que fue definida.

Los elementos de la tupla pueden ser de cualquier tipo, y se separan con comas encerrados entre paréntesis. Cada elemento de la tupla se indexa con un número, siendo el cero el primero, igual a como se hace con las listas.

En el ejemplo anterior tenemos una tupla llamada “datos” que contiene un string y un float. Puede verse que cada elemento se puede acceder a través de un índice, como en el caso de las listas, pero que nos da un error al intentar modificar un elemento.

Volviendo a nuestro programa de cálculo de resistencia, modificaremos el diccionario para que cada valor sea una tupla:

El diccionario ahora se llama “datos”, ya que contiene más información que la resistividad. En las líneas 22 y 23 se accede al valor que en el diccionario se corresponde con la clave “material”. Como este valor es una tupla, la resistividad está en el índice 0 y el texto del nombre en el índice 1.

Seguramente se les ocurrirán muchas modificaciones y mejoras. Pueden hacer sugerencias o comentarios mas abajo. Nos vemos en el próximo artículo con mas aplicaciones de Python!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias