My Coding Quiz #52 👨💻🛠️🧩
Welcome to the new installment of my series of Coding Quizzes, in which you will be able to test your knowledge and skills about programming and software development in a simple and fun way. If you want to learn more about it visit my blog here on Hive and the first post where I introduced it.
Without further ado, here's the riddle...
By @eniolw
What's your choice?
Solution to the previous quiz: ([1, 2, 3, 4, 4],). We start by creating a tuple containing the list [1, 2, 3, 4]
. As we can see, this tuple a
has a comma at the end, and Python connoisseurs know that this is mandatory in order to denote a tuple of at least one item. Otherwise, the parenthesis would not create a tuple and would instead represent a grouping.
This explains why by doing b = a[-1]
, we are accessing the last element of the tuple, which is the mentioned list and not an empty element. Surely you knew this, it's very basic.
What you might not know are all the roles of all the parameters of all the functions and methods that we use even on a daily basis. This may be the case of the instruction b.insert(5, 4)
, which highlights the insert
method. We know that it should insert something into list b
, but how should it be read? Which parameter represents the content to be inserted and which parameter represents the position where it will be inserted? The answer is that the first argument is the position and the second argument is the content.
So, since b
has [1, 2, 3, 4]
, the instruction b.insert(5, 4)
will insert a 4
at position 5
, so we get [1, 2, 3, 4, 4, 4]. Of course, what is printed at the end is ([1, 2, 3, 4, 4],)
because although the wrapper is a tuple and as such is immutable, its content is a list and this is mutable. We accessed it by referencing it with the variable b
and then modified it with insert
.
If you want to blog about computer science and programming content, I invite you to join Hive and participate in its communities, such as STEM-social, Develop Spanish, Programming & Dev and others.
Mi Quiz de Programación #52 👨💻🛠️🧩
Bienvenido a mi nueva serie de Quizzes de Programación, en la cual podrás poner a prueba tus conocimientos y habilidades sobre programación y desarrollo de software de una manera sencilla y divertida. Si quieres aprender más sobre ella visita mi blog aquí en Hive y el primer post donde la presenté.
Sin más preámbulos, he aquí el acertijo...
Por @eniolw
¿Cuál es tu elección?
Solución al quiz anterior: ([1, 2, 3, 4, 4],). Comenzamos creando una tupla que contiene la lista [1, 2, 3, 4]
. Como podemos ver, esta tupla a
tiene una coma al final, y los conocedores de Python saben que esto es obligatorio para denotar una tupla de al menos un elemento. De lo contrario, el paréntesis no crearía una tupla sino que representaría una agrupación.
Esto explica por qué al hacer b = a[-1]
, estamos accediendo al último elemento de la tupla, que es la lista mencionada y no un elemento vacío. Seguro que lo sabías, es muy básico.
Lo que quizás no sepas son todas las funcionalidades de todos los parámetros de todas las funciones y métodos que utilizamos incluso a diario. Este puede ser el caso de la instrucción b.insert(5, 4)
, que destaca el método insert
. Sabemos que debería insertar algo en la lista b
, pero ¿cómo debería leerse? ¿Qué parámetro representa el contenido a insertar y qué parámetro representa la posición donde se insertará? La respuesta es que el primer argumento es la posición y el segundo argumento es el contenido.
Entonces, dado que b
tiene [1, 2, 3, 4]
, la instrucción b.insert(5, 4)
inserta un 4
en la posición 5
, por lo que obtenemos [1, 2, 3, 4, 4, 4]. Por supuesto, lo que se imprime al final es ([1, 2, 3, 4, 4],)
porque aunque el contenedor es una tupla y como tal es inmutable, su contenido es una lista y esto es mutable. Accedimos a él haciendo referencia a él con la variable b
y luego lo modificamos con insert
.
Si quieres bloguear sobre contenido informático y de programación, te invito a unirte a Hive y participar en sus comunidades, tales como STEM-social, Develop Spanish, Programming & Dev y otras.