{"id":710,"date":"2022-02-09T16:05:59","date_gmt":"2022-02-09T19:05:59","guid":{"rendered":"http:\/\/lucianodev.com.br\/blog\/?p=710"},"modified":"2022-07-19T20:56:47","modified_gmt":"2022-07-19T23:56:47","slug":"estrutura-condicional-if-else-no-python-passo-a-passo","status":"publish","type":"post","link":"https:\/\/lucianodev.com.br\/blog\/estrutura-condicional-if-else-no-python-passo-a-passo\/","title":{"rendered":"Estrutura condicional IF\/ELSE no Python &#8211; Passo a Passo"},"content":{"rendered":"<p><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4648498281437791\" crossorigin=\"anonymous\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"6352579729\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>Neste post daremos continuidade com o aprendizado sobre a linguagem Python, onde iremos aprender a utilizar a estrutura condicional if\/else, para criar programas mais \u201cinteressantes\u201d onde em algumas instru\u00e7\u00f5es ir\u00e3o existir avalia\u00e7\u00f5es condicionais, que ir\u00e1 decidir se determinados comandos ser\u00e3o executados ou n\u00e3o, de acordo com o resultado do \u201cteste l\u00f3gico\u201d.<\/p>\n<p>Se voc\u00ea que est\u00e1 lendo esse post pela primeira vez n\u00e3o tem nenhuma no\u00e7\u00e3o (mas nenhuma no\u00e7\u00e3o mesmo) do que \u00e9 a linguagem Python, recomendo que voc\u00ea leia meu post sobre a introdu\u00e7\u00e3o a linguagem, que deixo aqui abaixo:<\/p>\n<p><a href=\"https:\/\/lucianodev.com.br\/blog\/introducao-a-linguagem-python-2022\/\">https:\/\/lucianodev.com.br\/blog\/introducao-a-linguagem-python-2022\/<\/a><\/p>\n<h2><strong>Estrutura IF\/ELSE \u2013 Exemplo 1<\/strong><\/h2>\n<p><strong>\u00a0<\/strong>Os programas que desenvolvemos nos posts anteriores cada comando, presente em sua respetiva linha, era executado em sequ\u00eancia uma instru\u00e7\u00e3o ap\u00f3s a outra, por\u00e9m poder\u00e1 acontecer casos em que para que um comando (ou bloco de comandos) seja executado, uma determinada condi\u00e7\u00e3o precisa ser satisfeita, \u00e9 a\u00ed que entra a estrutura <strong>IF\/ELSE<\/strong>.<\/p>\n<p>Atrav\u00e9s dessa estrutura condicional podemos decidir se um comando ser\u00e1 executado ou n\u00e3o mediante a um teste l\u00f3gico. Vejamos a sintaxe a estrutura abaixo:<\/p>\n<pre><code class=\"language-python\">if(&lt;condi\u00e7\u00e3o&gt;):\n &lt;comandos&gt;<\/code><\/pre>\n<p>Aqui temos uma demonstra\u00e7\u00e3o do do <strong><em>if<\/em><\/strong> (sem o <strong><em>else<\/em><\/strong>) onde o comando dentro dessa estrutura s\u00f3 ser\u00e1 executado se a &lt;condi\u00e7\u00e3o&gt; (teste l\u00f3gico) retornar um valor verdadeiro, caso contr\u00e1rio nenhum comando do <strong><em>if<\/em><\/strong> ser\u00e1 executado.<\/p>\n<p><strong>Obs.:<\/strong> No Python em especial (exceto a maioria das linguagens) todos os comandos dentro da estrutura <strong><em>if<\/em><\/strong> (e de outras que a linguagem possui) devem estar indentados (ou seja, n\u00e3o podem estar no mesmo alinhamento e devem come\u00e7ar com pelo menos <em>UM ESPA\u00c7O EM BRANCO<\/em> ou <em>TABULA\u00c7\u00c3O<\/em>). Veja um exemplo:<\/p>\n<pre><code class=\"language-python\">if(&lt;condi\u00e7\u00e3o&gt;)\n&lt;comando&gt; #Erro, o &lt;comando&gt; est\u00e1 no mesmo alinhamento da palavra if\n\nif(&lt;condi\u00e7\u00e3o&gt;)\n    &lt;comando&gt; #Correto, indentado dentro do if com a tabula\u00e7\u00e3o (espa\u00e7o serve tamb\u00e9m)\n<\/code><\/pre>\n<p>Para demonstrar o uso do <strong><em>if<\/em><\/strong> vamos come\u00e7ar criando um pequeno programa onde dever\u00e1 ser informado um n\u00famero inteiro qualquer, onde logo ap\u00f3s a sua leitura dever\u00e1 ser mostrado na tela o valor lido e, caso o n\u00famero seja maior que 1000, mostrar na tela uma mensagem dizendo \u201cque esse n\u00famero \u00e9 maior do que 1000\u201d.<\/p>\n<p>Abra o ambiente de programa\u00e7\u00e3o Python IDLE (Se n\u00e3o tenha instalado leia os posts anteriores, l\u00e1 mostro como instalar) e em seguida crie um novo arquivo em branco e digite o seguinte bloco de comandos abaixo:<\/p>\n<pre><code class=\"language-python\">numero = int(input(&quot;Digite um n\u00famero inteiro qualquer: &quot;))\n\nprint(&quot;Voc\u00ea digitou &quot;, numero)\n\nif(numero &gt; 1000):\n    print(&quot;O n\u00famero digitado \u00e9 maior que 1000&quot;)\n<\/code><\/pre>\n<p>Salve o arquivo (CTRL + S) no seu computador (com o nome que voc\u00ea desejar) e em seguida execute essa aplica\u00e7\u00e3o DUAS VEZES, na primeira voc\u00ea ir\u00e1 digitar um n\u00famero inteiro qualquer abaixo de 1000 e na outra execu\u00e7\u00e3o digitar\u00e1 um n\u00famero qualquer acima de 1000 e veja o resultado da execu\u00e7\u00e3o de ambos:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"144\" class=\"alignnone wp-image-711 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-13.png\" srcset=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-13.png 647w, https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-13-300x67.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/p>\n<p>Nesse programa que desenvolvemos, logo ap\u00f3s as primeiras instru\u00e7\u00f5es (<strong><em>input <\/em><\/strong>e <strong><em>print<\/em><\/strong>), temos a estrutura condi\u00e7\u00e3o <strong><em>if<\/em><\/strong> onde perguntamos se vari\u00e1vel n\u00famero (que armazena o n\u00famero digitado pelo usu\u00e1rio) \u00e9 maior do que 1000:<\/p>\n<pre><code class=\"language-python\">if(numero &gt; 1000):<\/code><\/pre>\n<p>Se a condi\u00e7\u00e3o acima for verdadeira, o comando <strong><em>print<\/em><\/strong> dentro do <strong><em>if<\/em><\/strong> ser\u00e1 executado:<\/p>\n<pre><code class=\"language-python\">print(&quot;O n\u00famero digitado \u00e9 maior que 1000&quot;)<\/code><\/pre>\n<p>Caso contr\u00e1rio (ou seja, se o n\u00famero for menor ou igual a 1000), a mensagem acima N\u00c3O SER\u00c1 EXIBIDA.<\/p>\n<h2><strong>Estrutura IF\/ELSE \u2013 Exemplo 2<\/strong><\/h2>\n<p>Agora vamos desenvolver mais um exemplo utilizando agora a estrutura <strong><em>if <\/em><\/strong><em>com<\/em> o<em> <strong>else<\/strong><\/em> onde podemos executar uma instru\u00e7\u00e3o seja o teste l\u00f3gico for verdadeira e outra instru\u00e7\u00e3o se o teste for falso (que \u00e9 a fun\u00e7\u00e3o no <strong><em>else<\/em><\/strong>). Essa estrutura possui a seguinte sintaxe:<\/p>\n<pre><code class=\"language-python\">if(&lt;condi\u00e7\u00e3o&gt;):\n &lt;comandos executados se a condi\u00e7\u00e3o for verdadeira&gt;\nelse:\n &lt;comandos executados se a condi\u00e7\u00e3o for falsa&gt;\n<\/code><\/pre>\n<p>O exemplo que iremos desenvolver ser\u00e1 o seguinte: Efetuaremos a leitura da m\u00e9dia do aluno via teclado e o programa dever\u00e1 mostrar no final se o aluno est\u00e1 aprovado (se a m\u00e9dia &gt;=7) ou reprovado (caso a m\u00e9dia seja &lt; 7).<\/p>\n<p>Crie um novo arquivo e digite o seguinte c\u00f3digo abaixo:<\/p>\n<pre><code class=\"language-python\">media = float(input(&quot;Digite a m\u00e9dia do aluno: &quot;))\n\nif(media&gt;=7):\n print(&quot;O aluno est\u00e1 APROVADO&quot;)\nelse:\n print(&quot;O aluno est\u00e1 REPROVADO&quot;)\n<\/code><\/pre>\n<p>Salve o arquivo e execute esse programa duas vezes: Na primeira digite uma m\u00e9dia maior ou igual a 7, e na segunda vez digite uma m\u00e9dia menor que 7. Vejamos os resultados:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"118\" class=\"alignnone wp-image-713 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-14.png\" srcset=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-14.png 650w, https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-14-300x54.png 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p>Vamos entender a estrutura do <strong><em>if\/else<\/em><\/strong> deste programa. Observe que \u00e9 feita uma pergunta no <strong><em>if<\/em><\/strong> onde questionamos se a m\u00e9dia do aluno (armazenada na vari\u00e1vel m\u00e9dia) \u00e9 maior ou igual (&gt;=) a 7):<\/p>\n<pre><code class=\"language-python\">if(media&gt;=7):<\/code><\/pre>\n<p>Caso o valor armazenado seja maior ou igual a 7, o teste l\u00f3gico ser\u00e1 verdadeiro, logo a instru\u00e7\u00e3o logo ap\u00f3s o if seja executada:<\/p>\n<pre><code class=\"language-python\">print(&quot;O aluno est\u00e1 APROVADO&quot;)<\/code><\/pre>\n<p>Se por acaso a m\u00e9dia fosse menor ou igual a 7, o comando dentro da estrutura <strong><em>else<\/em><\/strong> ser\u00e1 executado:<\/p>\n<pre><code class=\"language-python\">print(&quot;O aluno est\u00e1 REPROVADO&quot;)<\/code><\/pre>\n<p><ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"6352579729\"><\/ins>[wbcr_html_snippet id=&#8221;772&#8243;]<\/p>\n<p><strong>Operadores relacionais<\/strong><\/p>\n<p><strong>\u00a0<\/strong>Dentro do teste l\u00f3gico do <strong><em>if\/else<\/em><\/strong> usamos muito operadores relacionais. Vejamos abaixo todos os operadores relacionais dispon\u00edveis na linguagem:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"261\" height=\"164\" class=\"alignnone wp-image-714 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-15.png\" \/><\/p>\n<h2><strong>Estrutura IF\/ELSE \u2013 Exemplo 3 (M\u00faltiplos ifs)<\/strong><\/h2>\n<p>Demonstramos aqui que o uso do <strong><em>if\/else<\/em><\/strong> \u00e9 muito importante quando precisamos tomar decis\u00f5es, onde podemos executar uma instru\u00e7\u00e3o (se a condi\u00e7\u00e3o for verdadeira) ou outra (se a condi\u00e7\u00e3o for falsa), mas pode acontecer de ser necess\u00e1rio realizar de in\u00fameros testes com v\u00e1rios <strong><em>ifs<\/em><\/strong> um ap\u00f3s o outro.<\/p>\n<p>Olha essa situa\u00e7\u00e3o: Precisamos efetuar a leitura da m\u00e9dia do aluno e ao final nosso programa mostrar se o aluno esta:<\/p>\n<ul>\n<li>Aprovado (Se m\u00e9dia &gt;= 7)<\/li>\n<li>Prova Final (Se m\u00e9dia for &gt;= 5, j\u00e1 considerando que ele \u00e9 &lt; 7)<\/li>\n<li>Reprovado (Caso nenhuma das condi\u00e7\u00f5es anteriores for atendida)<\/li>\n<\/ul>\n<p>Crie um novo arquivo no Python e escreva o seguinte c\u00f3digo abaixo:<\/p>\n<pre><code class=\"language-python\">media = float(input(&quot;Digite a m\u00e9dia do aluno: &quot;))\n\nif(media&gt;=7):\n print(&quot;O aluno est\u00e1 APROVADO&quot;)\nelse:\n if(media&gt;=5):    \n   print(&quot;O aluno est\u00e1 EM PROVA FINAL&quot;)\n else:\n   print(&quot;O aluno est\u00e1 REPROVADO&quot;)\n<\/code><\/pre>\n<p>Experimente executar o programa ap\u00f3s escrever o c\u00f3digo e salvar. Vejamos o resultado:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"211\" class=\"alignnone wp-image-716 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-16.png\" srcset=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-16.png 647w, https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-16-300x98.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/p>\n<h2><strong>Operadores l\u00f3gicos<\/strong><\/h2>\n<p><strong>\u00a0<\/strong>Nos exemplos desenvolvidos at\u00e9 agora, em cada <strong><em>if<\/em><\/strong> era feita uma \u00fanica pergunta, mas pode acontecer de ser necess\u00e1rio dentro de um <strong><em>if <\/em><\/strong>realizarmos MAIS DE UM TESTE (PERGUNTA), e a\u00ed que entra os <em>operadores l\u00f3gicos<\/em>.<\/p>\n<h3>Operador l\u00f3gico E &#8211; AND<\/h3>\n<p>Usamos o operador AND (E) quando precisamos fazer mais de uma pergunta, e ao final o retorno do teste pode ser verdadeiro (quando todas as perguntas analisadas pelo operador forem verdadeiras) ou falso (quando pelo menos uma das perguntas for falsa).<\/p>\n<p>Vejamos uma demonstra\u00e7\u00e3o do programa Python abaixo:<\/p>\n<pre><code class=\"language-python\">media = float(input(&quot;Digite a m\u00e9dia do aluno: &quot;))\n\nquantidadeFaltas = int(input(&quot;Digite a quantidade de faltas: &quot;))\n\n#Usando o operador E (And) \n#Para que o aluno seja aprovado, sua m\u00e9dia precisa ser &gt;= 7 a quantidade\n#de faltas &lt;= 4\n\nif((media &gt;=7) and (quantidadeFaltas &lt;= 4)):\n print(&quot;O aluno est\u00e1 aprovado&quot;)\nelse:\n print(&quot;O aluno est\u00e1 reprovado&quot;)\n<\/code><\/pre>\n<p>Execute o programa e fa\u00e7a os testes:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"257\" class=\"alignnone wp-image-718 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-17.png\" srcset=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-17.png 645w, https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-17-300x120.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/p>\n<h3>Operador l\u00f3gico OU &#8211; OR<\/h3>\n<p>Usamos o operador OR (OU) quando precisamos fazer mais de uma pergunta, e ao final o retorno do teste pode ser verdadeiro (quando pelo menos uma pergunta for verdadeira) ou falso (quando todas as perguntas forem falsas).<\/p>\n<p>Vejamos uma demonstra\u00e7\u00e3o do programa Python abaixo:<\/p>\n<pre><code class=\"language-python\">mediaPortugues = float(input(&quot;Digite a m\u00e9dia de portugu\u00eas: &quot;))\nmediaMatemarica = float(input(&quot;Digite a m\u00e9dia de matematica: &quot;))\n\n\n#Usando o operador OU (Or) \n#Mostra se o aluno est\u00e1 aprovado em alguma mat\u00e9ria ou reprovou em todas\n\nif((mediaPortugues &gt;=7) or (mediaMatemarica &gt;= 7)):\n print(&quot;O aluno est\u00e1 aprovado em pelo menos uma mat\u00e9ria&quot;)\nelse:\n print(&quot;O aluno est\u00e1 reprovado em todas as mat\u00e9rias&quot;)\n<\/code><\/pre>\n<p>Execute o programa e fa\u00e7a os testes:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"315\" class=\"alignnone wp-image-719 size-full\" src=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-18.png\" srcset=\"https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-18.png 647w, https:\/\/lucianodev.com.br\/blog\/wp-content\/uploads\/2022\/02\/Pasted-18-300x146.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/p>\n<h2>Considera\u00e7\u00f5es finais<\/h2>\n<p>E a\u00ed, gostou de aprender sobre programa\u00e7\u00e3o condicional usando if\/else na linguagem Python? Se gostou ou quer de fazer qualquer observa\u00e7\u00e3o sobre esse (ou outros posts sobre Python) deixe seu coment\u00e1rio.<\/p>\n<p>Em Breve estarei escrevendo mais posts sobre programa\u00e7\u00e3o em Python (e, futuramente, um E-BOOK sobre a linguagem ser\u00e1 lan\u00e7ado).<\/p>\n<p>Me siga nas redes sociais:<\/p>\n<p>Instagram: @lucianodevoficial<\/p>\n<p>Facebook: @lucianodevoficial<\/p>\n<p><em>Um forte abra\u00e7o e at\u00e9 a pr\u00f3xima<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste post daremos continuidade com o aprendizado sobre a linguagem Python, onde iremos aprender a utilizar a estrutura condicional if\/else, para criar programas mais \u201cinteressantes\u201d onde em algumas instru\u00e7\u00f5es ir\u00e3o&hellip;<\/p>\n","protected":false},"author":1,"featured_media":720,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,3,27],"tags":[],"class_list":["post-710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algoritmo","category-programacao","category-python"],"_links":{"self":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/comments?post=710"}],"version-history":[{"count":7,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/710\/revisions"}],"predecessor-version":[{"id":776,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/710\/revisions\/776"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media\/720"}],"wp:attachment":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media?parent=710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/categories?post=710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/tags?post=710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}