Python – Capítulo 19: Agregando elementos a una lista

Hasta ahora hemos trabajado con listas en las que su longitud se ha mantenido constante desde su creación. En el capítulo de hoy veremos cómo agregar dinámicamente nuevos elementos.

Arranquemos Python IDLE o el intérprete interactivo.

Vamos a crear una lista que emplearemos para gestionar la lista de espera de un vuelo de la compañía Python Airlines.

>>> lista_espera = ['Luis Luisero', 'Pedro Pedrete', 'Javier Javiercín', 'Rosa Rosae']

Si quedan vacantes, Luis será el primero con derecho a ocupar una plaza, seguido de Pedro. Rosa lo va a tener algo más difícil, pues está la última en la cola.

Llega una nueva usuaria, Marta Martínez, y se le informa que debe permanecer en lista de espera, pero que aún tiene a cuatro personas por delante.

Para inscribirla, ejecutamos el siguiente comando:

>>> lista_espera.append('Marta Martínez')

El método append agrega un elemento a una lista en última posición.

Un poco de terminología. Un método es una especie de función que actúa sobre un objeto determinado. En este caso, el método append está acuando sobre lista_espera. El nombre del objeto y el método aparecen separados por un punto.

Comprobemos que ha cumplido con su cometido:

>>> lista_espera
['Luis Luisero', 'Pedro Pedrete', 'Javier Javiercín', 'Rosa Rosae', 'Marta Martínez']

Pero lo va a tener realmente complicado. Al parecer hay rumores de que sólo habrá tres vacantes, aunque no se pierde nada por intentarlo.

De repente llega al mostrador de facturación una conocida del piloto. La meterán en lista de espera, para ser discretos, pero en una posición que asegure que cogerá el avión.

Debemos asegurarnos que esté la tercera en la cola.

Podemos agregar un elemento a una lista en la posición que deseemos aplicando el método insert, facilitando como parámetro adicional el índice en el que quedará ubicado. El elemento que estaba situado en esa posición se desplazará un puesto hacia la derecha.

Puesto que va a ser el tercer elemento, su índice es dos. Recordemos que el primer elemento de una lista tiene por índice cero.

>>> lista_espera.insert(2, 'Helen Chufada')

Veamos qué ha pasado:

>>> lista_espera
['Luis Luisero', 'Pedro Pedrete', 'Helen Chufada', 'Javier Javiercín', 'Rosa Rosae',
 'Marta Martínez']

Volar volará, pero no hay derecho…

Javier Montero

BitBite English #26: What do we call…?

What do we call a person whose profession is the care and treatment of the teeth?

A dentist.

What do we call the central or most important part of something?

The core.

What do we call…? ¿Cómo llamamos a …?

A joke:

What do you call a fish without an eye?

Answer: Fsh

(‘eye’ se pronuncia ‘ai’, igual que la letra «i»)

Javier Montero

Protegiendo la escritura de código

Los programadores que utilizamos WordPress para mostrar código nos las vemos y deseamos para que nuestras líneas de programa queden medio decentes a la hora de ser presentadas en el blog.

Un lenguaje de programación como Python utiliza las indentaciones para establecer correctamente los límites de los bloques. Si pegamos el código directamente en el editor HTML de WordPress y previsualizamos el resultado observaremos que todo el espaciado extra ha sido eliminado. Podemos recurrir a etiquetas como <pre> … </pre>, que harán su mejor esfuerzo por mantenernos el formato, pero aún así no tenemos la certeza de que WordPress o algún plugin que tengamos instalado modifique su contenido.

Publicar los artículos del curso de HTML también ha sido truculento. No podía recurrir al editor HTML porque interpretaría las etiquetas. Pegando el código en el editor visual conseguía respetarlas, pero debía ser muy cuidadoso cada vez que conmutaba editores y asegurarme de que no se obtenían resultados imprevistos después de haber enmarcado el texto en un bloque <code> para visualizarlo con una fuente de espaciado fijo.

Finalmente, opté por deshabilitar el editor visual (algo que debía haber hecho desde el primer momento) y escribir los códigos especiales HTML directamente recurriendo a su código de entidad, lo cual convertía el trabajo en una labor de chinos, pero así me aseguraba de que no iban a producirse sorpresas después.

En resumen, la presentación de código fuente en un blog era toda una odisea chapucera.

Afortunadamente existen soluciones inteligentes en forma de plugin que nos ayudan a que nuestro código aparezca inmaculado. Voy a hablaros de una que he adoptado yo y en breve activaré en el blog: el plugin Preserve Code Formatting, de Scott Reilly (alias coffee2code).

Su funcionamiento es muy sencillo: todo lo que escribamos dentro de <code> y de <pre> ( o en otras etiquetas que también podemos especificar) quedará protegido y no será transformado ni por WordPress ni por otros plugins.

El lugar perfecto para nuestros bloques de código.

Tengo el plugin instalado pendiente de activación. En cuanto lo haga, todos los trucos que he tenido que hacer para mostrar el código en series como la de Python o HTML se volverán contra mí y los programas aparecerán descabalados.

Uno a uno deberé corregir cada artículo teniendo en cuenta las nuevas normas de preservación de código. Pero es algo que debo hacer ya y cuanto más tarde en demorarlo más trabajo me supondrá después.

Javier Montero

BitBite English #25: What with one thing and another

It was a long day yesterday…

I woke up early in the morning and went to bed late at night. It was a very intense day.

What with one thing and another, I didn’t have time to write in the blog.

What with one thing and another…, Entre una cosa y otra

Such is life. I’m sorry.

Javier Montero

Localización de las notas en el mástil de la guitarra

Objetivo: aprender a identificar cualquier nota en el mástil de la guitarra.

Todo músico debe saber qué notas está tocando si pretende comprender y dominar su instrumento. Si el mástil de una guitarra aún te parece una zona misteriosa, impenetrable y oscura, ya es hora de que comiences a iluminarlo.

Como requisitos previos, para poder entender lo que aquí se dice, tienes que saber nombrar las notas en un piano y conocer los conceptos de tono y semitono. Todo esto está ya explicado en los siguientes artículos:

Las notas musicales: las teclas blancas
Las notas musicales: las teclas negras
Tonos y semitonos

Hay que pensar en una guitarra como si fueran seis pianos, uno por cada cuerda. Si la colocamos en posición horizontal, con el clavijero a nuestra izquierda y el puente a la derecha, comprenderemos mejor esta analogía.

Centremos la atención en una cuerda cualquiera de la guitarra. En el piano, cada vez que nos desplazamos una tecla a la derecha (incluyendo la totalidad de las teclas blancas y negras) obtenemos un sonido un semitono más agudo. Lo mismo sucede con la guitarra: cada vez que nos desplazamos un traste a la derecha (en esta visión horizontal), acercándonos al puente, obtenemos una nota un semitono más alta. La única diferencia es que no hay «trastes negros» ni «trastes blancos», todos son iguales (salvo por el hecho de que se van estrechando conforme nos vamos acercando al puente), por lo que, al contrario de lo que sucede en un piano, no tenemos una referencia visual e inmediata que nos diga si una nota es natural o alterada.

Para poder poner nombre a la nota que sonaría en un traste determinado hace falta conocer, previamente, qué notas son las que suenan cuando la guitarra se toca al aire, es decir, sin poner el dedo sobre ningún traste. Esto es lo que se conoce como afinación de la guitarra.

Existen muchas afinaciones que se utilizan en la guitarra. La más común, es sin lugar a dudas, aquella que al aire hace sonar las notas siguientes:

MI – LA – RE – SOL – SI – MI

o, en notación anglosajona:

E – A – D – G – B – E

Estas notas están indicadas partiendo de la sexta cuerda (la más grave). Es decir, la sexta cuerda al aire debe dar un MI, la quinta un LA, la cuarta un RE, la tercera un SOL, la segunda un SI y la primera un MI (como en la sexta). Memoriza esa secuencia y apréndete cómo suena esa melodía; cuando la tengas bien grabada en tu cabeza, un simple rasgueo lento al aire te indicará qué cuerdas están desafinadas.

La mejor forma de afinar una guitarra para obtener notas lo más precisas posibles es mediante la utilización de un afinador electrónico. Acostúmbrate a afinar siempre la guitarra antes de tocar. No sólo sonará mejor, sino que además estarás educando tu oído. Eso hará que, con la práctica, te hagas menos dependiente del afinador y puedas afinar el instrumento sin necesitarlo. No toques nunca con la guitarra desafinada.

Conociendo ya la afinación, localizar las notas en el mástil no es más que ir contando, al igual que hacíamos en el piano.

Por ejemplo, consideremos la sexta cuerda, la más grave. Sabemos que, al aire, debe dar la nota MI.

¿Que nota está, entonces, asociada al primer traste?

Cada traste que vamos acercándonos al puente, alejándonos del clavijero, estamos incrementando un semitono.

¿Qué nota hay, entonces, un semitono después de MI?

Ya sabes que la respuesta es FA. Recuerda que entre MI y FA, al igual que entre SI y DO, no hay más que un semitono (es decir, no hay una tecla negra entre medias en el piano).

Por lo tanto, la sexta cuerda, pulsada en el primer traste, nos da la nota FA.

¿Y en el segundo?

Un semitono más, es decir Fa sostenido (F#) que, como sabéis, es equivalente a Sol bemol (Gb).

Si proseguimos así:

– en el tercer traste: Sol
– en el cuarto: Sol sostenido (o La bemol)
– en el quinto: La

y así sucesivamente.

Comienza practicando la cuenta así, semitono a semitono. Cuando seas capaz de hacerlo con agilidad, podrás contar de dos en dos, es decir, tono a tono. Vuelvo a recordarte, aunque resulte pesado, que entre dos notas naturales cualesquiera hay siempre un tono, a excepción de entre MI y FA y entre SI y DO, en las que la distancia es de un semitono.

Vamos a aplicar esto al siguiente problema:

En la quinta cuerda, ¿dónde se localiza la nota SOL?

Lo primero es recordar qué nota suena al aire en la quinta cuerda: LA.

Contemos ahora de dos en dos:

Segundo traste: SI

¡Ojo ahora! Hay que contar sólo uno, porque entre SI y DO sólo hay un semitono.

Tercer traste: DO

Volvemos a contar dos:

Quinto traste: RE

Séptimo traste: MI

Contamos nuevamente uno ahora, pues entre MI y FA sólo hay un semitono.

Octavo traste: FA

Finalmente, contando dos, llegamos a la nota buscada:

Décimo traste: SOL

Otro truco al que puedes recurrir parte de la observación de que, en el traste 12, vuelven a obtenerse las mismas notas que sonaban al aire. Es decir, en el traste 12 se localizan, nuevamente, las notas MI – LA – RE – SOL – SI – MI.

Nos puede convenir, según la proximidad de la nota buscada, contar hacia atrás desde el traste 12. Es el caso del ejemplo anterior:

Quinta cuerda en el traste 12: LA

Cuento ahora dos semitonos hacia atrás:

Traste 10: SOL

Dominar la nomenclatura de las notas en todo el mástil te ayudará a progresar increiblemente como guitarrista. Cuanto antes lo hagas, mejor. Ahora empezarás contando, pero poco a poco se irán reteniendo en la memoria y de un sólo vistazo sabrás perfectamente su nombre.

Te recomiendo que la memorización la practiques gradualmente. Comienza sólo con las notas naturales (las notas alteradas estarán simplemente un semitono antes o después) y en una pequeña región de la guitarra. Por ejemplo, domina las notas naturales presentes hasta el traste tres. Cuando lo hayas logradp, amplia hasta el traste 5, y así sucesivamente.

Una última cosa: recuerda que la guitarra sigue más allá del traste 12. Conozco a mucha gente que se pierde pasada esa línea. Memoriza el mástil al completo.

Javier Montero Gabarró


Fecha de la última revisión: 1 de diciembre de 2012


http://elclubdelautodidacta.es/wp/2011/09/localizacion-de-las-notas-en-el-mastil-de-la-guitarra/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice de la categoría Guitarra.

BitBite English #24: fair-weather friends

En el BitBite de ayer hablamos de los «falsos amigos», aquellos términos del idioma inglés que podían inducirnos a errores por su gran similitud con los nuestros, pero con significado diferente.

Hoy hablaremos también de falsos amigos, pero de otro modo…

Hablaremos de aquellos amigos que sólo se acuerdan de ti cuando te necesitan, aquellos que sólo se acercan cuando las cosas te van bien y pueden aprovecharse de ti.

fair-weather friends, amigos de conveniencia

Mientras haga «buen tiempo» y puedan disfrutar de él estarán a tu lado, no lo dudes…

Fair-weather friends aren’t much help in case you are having trouble.

You can’t count on them.

Javier Montero

LaTeX – Capítulo 11: Imprimiendo una página de título

Comenzaremos hoy con la maquetación de un libro en todas las de la ley. No hay mejor forma de observar \LaTeX en acción que viendo cómo se ocupa automáticamente de todo el trabajo sucio, permitiendo que nos concentremos en lo verdaderamente importante: el contenido.

Como práctica, crearemos un libro, titulado «Curso de mIRC», en el que incluiremos, estructurados en capítulos, los contenidos de la categoría mIRC de este blog.

En la sesión de hoy imprimiremos la primera página del libro, que contendrá el título, el autor y la fecha de publicación.

El primer paso que debemos dar es cambiar la plantilla de estilo general, la «clase de documento». Hasta ahora hemos utilizado el tipo article (artículo); sin embargo, para la organización de nuestro proyecto es más adecuada la clase book (libro). Entre otras cosas, el concepto de «capítulo» no tiene sentido en un artículo.

Corregimos la primera línea, de modo que resulte

\documentclass{book}

Vamos a introducir a continuación los datos de la obra: título, autor y fecha de publicación. Esto es tan sencillo como escribir los siguientes comandos justo después del \begin{document}

\title{Curso de mIRC}
\author{Javier Montero}
\date{13 de septiembre de 2011}

A este tipo de información que identifica al documento se la conoce como metadatos. No forma parte del contenido y, por lo tanto, no es visible por defecto. Para poder mostrarla debemos recurrir a un nuevo comando, que escribimos a continuación de los anteriores:

\maketitle

Esto provocará que se genere una página, con el formato adecuado, en la que figurarán los tres elementos informativos anteriores.

Si no empleamos el comando \date, o bien no indicamos fecha alguna, \maketitle insertará la fecha actual por defecto.

Como siempre, aquí dejo el código fuente completo del capítulo, así como el pdf con el resultado final tras la compilación.

En el próximo artículo de la serie agregaremos los primeros capítulos del libro y tendremos ocasión de comprobar la elegancia de \LaTeX a la hora de maquetarlos.

Javier Montero

Revisado el 13 de diciembre de 2017

BitBite English #23: false friends

En el estudio de un idioma, denominamos falsos amigos a aquellos vocablos que se asemejan extraordinariamente a los nuestros, pero tienen un significado diferente.

Los false friends en inglés pueden conducirnos a un ridículo espantoso. Conviene aprender a reconocerlos.

Hay centenares de ellos; he aquí algunos ejemplos:

arena, estadio (y no arena, que se dice sand)
actually, en realidad (y no actualmente, at present)
carpet, alfombra (no carpeta, folder)
resume, reanudar (y no resumir, summarise)

I don’t want you to rest until you give me some more examples… 😉

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2011/09/bitbite-english-23-false-friends/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de BitBite English si te gusta esta serie.

«Cautiva Dora» ya tiene melodía

La «rabiosa» letra que escribió Loreto hace un par de meses, «Cautiva Dora» (Opus 17), ya tiene melodía final. Será presentada formalmente a la banda durante el ensayo del martes próximo, en el que comenzaremos a perfilar el arreglo general y tomaremos decisiones sobre la estructura y el ritmo.

En un tempo vivo y sobre una armonía en Si menor a la que no le faltan «sutilezas» sorpresa, estoy seguro de que «Cautiva Dora» logrará «cautivar» a nuestros oyentes.

Para eso trabajamos duro…

Javier Montero

<em>Escucha a <a href="http://www.viciosfera.es" target="_blank">Viciosfera</em></a>.

mIRC – Capítulo 10: Conversaciones privadas

A diferencia de otros programas de chat, como el Messenger, IRC está pensado para mantener conversaciones en grupo dentro de las «salas virtuales» que conocemos como canales. No obstante, también podemos sostener charlas privadas, bis-a-bis, con otros usuarios. En este capítulo explicaremos el modo de hacerlo.

La imagen corresponde a una instantánea de una conversación mantenida en el canal «Paseando», entre tres usuarios: paderto, plutonio y sostenuto, vista desde el ángulo del segundo.

En este momento, a la vez que está conversando en «Paseando», plutonio desea tratar un tema privado con sostenuto sin que paderto se entere. Para hacerlo, puede proceder de cuatro formas básicas:

1) Empleando el comando /query nombre-de-usuario

/query sostenuto

Esto provoca que a ambos usuarios, plutonio y sostenuto se les abra una nueva ventana en la que podrán charlar privadamente sin que ningún otro usuario pueda interferir.

En el título de la ventana observamos que la conversación está abierta contra sostenuto.

Una vez se ha establecido, chateamos del mismo modo en que lo haríamos en un canal normal, escribiendo texto en la zona inferior de la ventana.

También podíamos haber agregado la primera línea de texto en el mismo mensaje de creación:

/query sostenuto Oye, por cierto...

Debemos tener en cuenta que no es necesario que el usuario esté en alguno de los canales en los que estamos. Ni siquiera que haya entrado en ninguno particular. Es suficiente con que esté conectado al IRC (naturalmente, en la misma red que nosotros).

2) Un segundo modo de lograr esto es a través del menú Commands, eligiendo la opción Query user.

Se nos abre una ventana en la que introducimos el nombre del usuario con el que queremos hablar y, opcionalmente, el mensaje que se le enviará, que será la primera línea de texto en la ventana de la conversación.

3) Empleando la opción Query del menú contextual que se abre al hacer clic con el botón derecho sobre el nombre del usuario.

4) Haciendo directamente doble clic sobre el nombre del usuario con el que queremos chatear. No obstante, como pronto veremos, este gesto es configurable y podremos decidir el comando asociado a él. Os aseguro que será una lástima desperdiciar algo tan ágil simplemente para lanzar un query.

Para terminar, quiero insistir en que, pese a haber otras formas más sencillas de hacer las cosas, practiquéis el uso de los comandos y los memoricéis bien. Serán imprescindibles a la hora de que le saquemos el jugo al mIRC programando scripts.

Javier Montero

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies