<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FizzBuzz on kenji.blog</title><link>http://kenji.blog/es/tags/fizzbuzz/</link><description>Recent content in FizzBuzz on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 18 Apr 2025 00:58:11 +0900</lastBuildDate><atom:link href="http://kenji.blog/es/tags/fizzbuzz/index.xml" rel="self" type="application/rss+xml"/><item><title>FizzBuzz</title><link>http://kenji.blog/es/p/fizzbuzz/</link><pubDate>Fri, 18 Apr 2025 00:58:11 +0900</pubDate><guid>http://kenji.blog/es/p/fizzbuzz/</guid><description>&lt;img src="http://kenji.blog/p/fizzbuzz/img.png" alt="Featured image of post FizzBuzz" />&lt;h2 id="qué-es-fizzbuzz-al-final-de-cuentas">¿Qué es FizzBuzz, al final de cuentas?
&lt;/h2>&lt;p>¡Hola!&lt;/p>
&lt;p>Hoy me gustaría escribir sobre &amp;ldquo;FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>Tanto para los que dicen &amp;ldquo;¡Ah, ya lo conozco!&amp;rdquo; como para los que piensan &amp;ldquo;He escuchado de eso, pero no lo entiendo bien&amp;rdquo;, acompáñenme un momento por favor. Se lee en unos pocos minutos, y quizás terminen diciendo &amp;ldquo;Ya veo&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="es-verdad-que-si-no-puedes-escribir-fizzbuzz-no-sirves-como-programador">¿Es verdad que &amp;ldquo;si no puedes escribir FizzBuzz, no sirves como programador&amp;rdquo;?
&lt;/h3>&lt;p>FizzBuzz, en resumen, es algo como esto.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">15&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;FizzBuzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Sí, este es el famoso &amp;ldquo;problema de FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>Se revisan los números del 1 al 100 en orden,&lt;br>
si es múltiplo de 3, se muestra &amp;ldquo;Fizz&amp;rdquo;, si es múltiplo de 5, &amp;ldquo;Buzz&amp;rdquo;,&lt;br>
y si es múltiplo de ambos, &amp;ldquo;FizzBuzz&amp;rdquo;. Es algo extremadamente simple.&lt;/p>
&lt;p>Sin embargo, por alguna razón, a menudo es tratado como &amp;ldquo;la prueba mínima para un programador&amp;rdquo;. Aparece en entrevistas, y en las redes sociales de vez en cuando se ven actitudes arrogantes como &amp;ldquo;Alguien que ni siquiera puede escribir FizzBuzz&amp;hellip;&amp;rdquo;.&lt;/p>
&lt;p>Pero, un momento.&lt;/p>
&lt;p>¿Realmente se puede afirmar que &amp;ldquo;no poder escribir FizzBuzz = no poder programar&amp;rdquo;?&lt;/p>
&lt;hr>
&lt;h3 id="no-se-trata-de-si-puedes-hacerlo-sino-de-si-estás-en-el-estado-para-hacerlo">No se trata de si puedes hacerlo, sino de si estás en el &amp;ldquo;estado&amp;rdquo; para hacerlo
&lt;/h3>&lt;p>Es cierto que FizzBuzz requiere comprender la sintaxis y el pensamiento lógico básico. Por lo tanto, es comprensible que se use para &amp;ldquo;comprobar los fundamentos&amp;rdquo;.&lt;/p>
&lt;p>Pero, piénsenlo.&lt;/p>
&lt;p>Si el entorno es diferente, el resultado también lo será.&lt;/p>
&lt;p>Por ejemplo,&lt;/p>
&lt;ul>
&lt;li>Cuando estás nervioso frente a un entrevistador que ves por primera vez&lt;/li>
&lt;li>Cuando de repente te dan una pizarra y no tienes un editor a la mano&lt;/li>
&lt;li>Cuando te preguntas &amp;ldquo;¿Qué era modulo otra vez?&amp;rdquo; y no te acuerdas al instante&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip;¿No les ha pasado eso? Somos humanos. Creo que sí pasa.&lt;/p>
&lt;p>Por eso, creo que más que &amp;ldquo;si puedes escribir FizzBuzz&amp;rdquo;, lo que en realidad es importante es &amp;ldquo;si puedes llevarte a un estado donde puedas escribir FizzBuzz&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="la-trampa-del-típico-consejo-solo-entrénate-y-estarás-bien">La trampa del típico consejo &amp;ldquo;solo entrénate y estarás bien&amp;rdquo;
&lt;/h3>&lt;p>Cuando se habla de esto, suele surgir el consejo &amp;ldquo;¡Por eso debes practicar todos los días!&amp;rdquo;.&lt;/p>
&lt;p>Es cierto que la práctica repetitiva te permite escribir con fluidez, y eso en sí mismo es bueno. Pero si nos basamos en la premisa de que &amp;ldquo;si no puedes escribir FizzBuzz, estás descalificado&amp;rdquo;, a veces simplemente se convierte en miedo.&lt;/p>
&lt;p>Es decir, se tiende a crear una estructura donde sientes que &amp;ldquo;cometer un error = no sirvo&amp;rdquo;.&lt;/p>
&lt;p>Por ejemplo, el día que te quedas dormido por la mañana tiendes a pensar &amp;ldquo;soy un perezoso&amp;hellip;&amp;rdquo;. Pero puede ser simplemente que tu cuerpo estaba cansado.&lt;/p>
&lt;p>Con FizzBuzz pasa lo mismo.&lt;/p>
&lt;hr>
&lt;h3 id="a-pesar-de-todo-fizzbuzz-también-es-un-buen-problema">A pesar de todo, FizzBuzz también es un buen problema
&lt;/h3>&lt;p>A pesar de todo, no es que FizzBuzz sea malo.&lt;/p>
&lt;p>Al contrario, creo que es un problema muy bien hecho. Las reglas son simples y es fácil de expandir. Por ejemplo, si lo cambias de esta manera, el pensamiento se profundiza más.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Este es un ejemplo de que &amp;ldquo;puedes escribirlo sin usar if-elif-else&amp;rdquo;. Es un poco más elegante, ¿verdad?&lt;/p>
&lt;p>En otras palabras, FizzBuzz no solo sirve para ver &amp;ldquo;si pudiste hacerlo&amp;rdquo;, sino que también es una puerta de entrada para ver &amp;ldquo;cómo lo escribes&amp;rdquo; y &amp;ldquo;hasta qué punto lo entiendes&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="en-conclusión">En conclusión
&lt;/h3>&lt;p>Creo que no hay que darle un significado demasiado exagerado a si puedes hacer FizzBuzz o no.&lt;/p>
&lt;p>Incluso si no pudiste escribirlo, puede que simplemente &amp;ldquo;hoy estabas en un mal momento&amp;rdquo;, y a menudo puedes hacerlo si lo piensas detenidamente después.&lt;/p>
&lt;p>Sin apresurarnos, avancemos lentamente.&lt;/p>
&lt;p>El código es escrito por humanos. Por ser humanos, a veces olvidamos y a veces nos ponemos nerviosos. Creo que es suficiente si podemos avanzar poco a poco mientras aceptamos eso.&lt;/p>
&lt;p>Entonces, escribamos código de manera relajada hoy también.&lt;/p></description></item></channel></rss>