<?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/pt/tags/fizzbuzz/</link><description>Recent content in FizzBuzz on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 18 Apr 2025 00:58:11 +0900</lastBuildDate><atom:link href="http://kenji.blog/pt/tags/fizzbuzz/index.xml" rel="self" type="application/rss+xml"/><item><title>FizzBuzz</title><link>http://kenji.blog/pt/p/fizzbuzz/</link><pubDate>Fri, 18 Apr 2025 00:58:11 +0900</pubDate><guid>http://kenji.blog/pt/p/fizzbuzz/</guid><description>&lt;img src="http://kenji.blog/p/fizzbuzz/img.png" alt="Featured image of post FizzBuzz" />&lt;h2 id="afinal-o-que-é-fizzbuzz">Afinal, o que é FizzBuzz?
&lt;/h2>&lt;p>Olá!&lt;/p>
&lt;p>Hoje eu gostaria de escrever sobre &amp;ldquo;FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>Tanto para aqueles que pensam &amp;ldquo;Ah, eu conheço isso!&amp;rdquo;, quanto para aqueles que dizem &amp;ldquo;Já ouvi falar, mas não entendo muito bem&amp;rdquo;, por favor, fiquem comigo um pouquinho. Pode ser lido em poucos minutos, e talvez você pense &amp;ldquo;Faz sentido&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="é-verdade-que-se-você-não-consegue-escrever-fizzbuzz-você-é-um-fracasso-como-programador">É verdade que &amp;ldquo;se você não consegue escrever FizzBuzz, você é um fracasso como programador&amp;rdquo;?
&lt;/h3>&lt;p>O FizzBuzz, em resumo, é assim.&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>Sim, este é o famoso &amp;ldquo;Problema FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>Você analisa os números de 1 a 100 em ordem,&lt;br>
se for um múltiplo de 3, exibe &amp;ldquo;Fizz&amp;rdquo;, se for um múltiplo de 5, exibe &amp;ldquo;Buzz&amp;rdquo;,&lt;br>
se for um múltiplo de ambos, exibe &amp;ldquo;FizzBuzz&amp;rdquo; - é algo muito simples.&lt;/p>
&lt;p>E, no entanto, por algum motivo, costuma ser tratado como &amp;ldquo;o teste mínimo para um programador&amp;rdquo;. Aparece em entrevistas, e nas redes sociais você vê comentários do tipo &amp;ldquo;Alguém que não consegue nem escrever FizzBuzz&amp;hellip;&amp;rdquo;.&lt;/p>
&lt;p>Mas, espere um minuto.&lt;/p>
&lt;p>Podemos realmente dizer que &amp;ldquo;não conseguir escrever FizzBuzz = não conseguir programar&amp;rdquo;?&lt;/p>
&lt;hr>
&lt;h3 id="não-é-sobre-poder-ou-não-mas-se-você-tem-o-estado-para-poder">Não é sobre poder ou não, mas se você tem o &amp;ldquo;estado&amp;rdquo; para poder
&lt;/h3>&lt;p>É verdade que o FizzBuzz exige compreensão da sintaxe e pensamento lógico básico. Portanto, faz sentido que seja usado para &amp;ldquo;verificar os fundamentos&amp;rdquo;.&lt;/p>
&lt;p>Mas, veja bem.&lt;/p>
&lt;p>Se o ambiente for diferente, os resultados serão diferentes.&lt;/p>
&lt;p>Por exemplo,&lt;/p>
&lt;ul>
&lt;li>Quando você está nervoso na frente de um entrevistador que acabou de conhecer&lt;/li>
&lt;li>Quando você recebe um quadro branco de repente e não tem um editor à mão&lt;/li>
&lt;li>Quando você não consegue se lembrar imediatamente de &amp;ldquo;Ei, o que é modulo?&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip;Isso não acontece? Somos humanos. Eu acho que acontece.&lt;/p>
&lt;p>Portanto, em vez de &amp;ldquo;conseguir escrever FizzBuzz&amp;rdquo;, acho que &amp;ldquo;conseguir se colocar em um estado em que consiga escrever FizzBuzz&amp;rdquo; é, na verdade, muito mais importante.&lt;/p>
&lt;hr>
&lt;h3 id="a-armadilha-do-conselho-comum-de-basta-treinar-e-ficará-tudo-bem">A armadilha do conselho comum de &amp;ldquo;Basta treinar e ficará tudo bem&amp;rdquo;
&lt;/h3>&lt;p>Quando se trata desse assunto, o conselho &amp;ldquo;Então pratique todos os dias!&amp;rdquo; tende a surgir.&lt;/p>
&lt;p>É verdade que a prática repetida fará com que você o escreva com fluência, e isso em si é bom. Mas se partirmos da premissa de que &amp;ldquo;se você não conseguir escrever FizzBuzz, você é um fracasso&amp;rdquo;, isso pode se transformar em mero medo.&lt;/p>
&lt;p>Em outras palavras, tende a criar uma estrutura onde você sente &amp;ldquo;Eu cometi um erro = sou inútil&amp;rdquo;.&lt;/p>
&lt;p>Por exemplo, quando você acorda tarde, você não tende a pensar &amp;ldquo;Eu sou preguiçoso&amp;hellip;&amp;rdquo;? Mas pode ser apenas que seu corpo estivesse cansado naquele momento.&lt;/p>
&lt;p>O FizzBuzz é a mesma coisa.&lt;/p>
&lt;hr>
&lt;h3 id="dito-isto-o-fizzbuzz-ainda-é-uma-boa-pergunta">Dito isto, o FizzBuzz ainda é uma boa pergunta
&lt;/h3>&lt;p>Dito isto, o FizzBuzz não é ruim.&lt;/p>
&lt;p>Em vez disso, acho que é uma pergunta muito bem elaborada. As regras são simples e é fácil de expandir. Por exemplo, se você mudá-lo assim, seu pensamento se aprofundará.&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 é um exemplo de &amp;ldquo;Você pode escrever isso mesmo sem usar if-elif-else&amp;rdquo;. É meio inteligente, não é?&lt;/p>
&lt;p>Em outras palavras, o FizzBuzz não trata apenas de &amp;ldquo;se você conseguiu fazer&amp;rdquo;, mas também serve como ponto de partida para ver &amp;ldquo;como você o escreve&amp;rdquo; e &amp;ldquo;o quanto você entende&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="por-tanto">Por tanto
&lt;/h3>&lt;p>Acho que não devemos atribuir muito significado excessivo a se você consegue ou não fazer o FizzBuzz.&lt;/p>
&lt;p>Mesmo que você não tenha conseguido escrever, pode ser apenas que &amp;ldquo;você não estava se sentindo bem agora&amp;rdquo;, e muitas vezes você conseguirá se pensar com cuidado mais tarde.&lt;/p>
&lt;p>Não se apresse, vamos avançar devagar.&lt;/p>
&lt;p>O código é escrito por humanos. Porque somos humanos, às vezes esquecemos coisas e ficamos nervosos. Aceitando isso, acho que basta se pudermos avançar pouco a pouco.&lt;/p>
&lt;p>Então, vamos escrever o código de maneira descontraída hoje.&lt;/p></description></item></channel></rss>