My Coding Quiz #15

in #hive-196387last year

My Coding Quiz #15 👨‍💻🛠️🧩

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...




Quiz
By @eniolw


What's your choice?

Solution to the previous quiz: 1. Line 1 creates the variables a and b using the unpacking notation, something very well known and practical in Python that resembles to the destructuring of Javascript.

Then we modify the value of b in line 2 in a slightly tricky way, but it serves to show how we can use the - operator to change the sign of the value of numeric variables. The expression is equivalent to b = (-1) - (-3), which is b = -1 + 3, which is b = 2 .

Line 3 presents the most interesting and least known aspect of the exercise. In Python, the ^ operator is not the exponentiation operator; that would be ** in Python. If that was what you had in mind, then you would have chosen 9 as the outcome, but that was a red herring.

Instead, ^ is a bitwise exclusive-OR operator, equivalent to the XOR function. In a nutshell, it compares each bit of both operands and returns one (1) if only one of the two compared bits is 1 or returns zero (0) otherwise.

However, we see that the numbers supplied to the ^ operator in the given code are base-decimal integers, not binary, so Python converts them to binary in order to XOR them. The result of the 3 ^ 2 operation is therefore 1, which is the value assigned to c and printed at the final line.

This exercise involved @hibadurahmon, @splash-of-angs63 and @rafaelaquino, with @splash-of-angs63 providing an explanation of why the output was obtained. Very good!


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, Hive Learners and others.


Mi Quiz de Programación #15 👨‍💻🛠️🧩

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...




Quiz
Por @eniolw


¿Cuál es tu elección?

Solución al quiz anterior: 1. Las línea 1 crea las variables a y b usando la notación de desempaquetado de secuencias, algo muy bien conocido y práctico en Python y que se asemeja al destructuring de Javascript.

Luego modificamos el valor de b en la línea 2 de una manera un poco truquera, pero que sirve para poner en evidencia cómo podemos usar el operador - para cambiar el signo del valor de las variables numéricas. La expresión es equivalente a b = (-1) - (-3), lo cual es b = -1 + 3, lo cual es b = 2.

La línea 3 presenta el aspecto más interesante y menos conocido del ejercicio. En Python, el operador ^ no es el de exponenciación; ese sería ** en Python. Si eso era lo que tenías en mente, entonces habrías escogido el resultado 9, pero era una pista falsa.

En su lugar, ^ es un operador bitwise de Ó exclusiva, equivalente a la función XOR. En palabras puntuales, esta compara cada bit de ambos operandos y devuelve uno (1) si solo uno de los dos bits comparados es 1 o devuelve cero (0) en caso contrario.

Sin embargo, vemos que los números provistos al operador ^ en el código dado son enteros de base decimal, no binarios, por lo Python los convierte a binarios para poder aplicarles la función XOR. El resultado de la operación 3 ^ 2, por tanto, es 1, que es valor asignado a c e impreso en la línea final.

En este ejercicio participaron @hibadurahmon, @splash-of-angs63 y @rafaelaquino, con @splash-of-angs63 proveyendo una explicación del porqué la salida obtenida. ¡Muy bien!


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, Hive Learners y otras.

Sort:  

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. 
 

I need to start learning python properly. This may be all I need.

Haha, no, this a quiz to test your knowledge, but you need to study with other sources suited for that. Unless you're talking about the language, in which case, yes, It is very complete.