O Python 3 é de longe a linguagem queridinha por muitos programadores e desenvolvedores. Decerto, foi sabendo disso que nós iniciamos a série aprenda Python aqui na MeuGuru a qual vamos então renomear para A.py para termos uma notação bem mais simples beleza gurunauta?. Então, esse é o texto três da série aprenda Python: A.py. Com efeito, em vez de introduzirmos novos aspectos da linguagem decidimos elaborar um tutorial, com passo a passo, para que você consiga entender como deve pensar para desenvolver seus próprios códigos.
Nesse sentido, hoje nosso artigo é voltando para a prática. com uso de estruturas condicionasi, os famosos ifs. Isso mesmo gurunauta, hoje vamos colocar a mão na massa e vamos programar juntos códigos simples que te farão treinar e entender um pouco mais da lógica de programação (tema que logo logo vamos fazer um artigo especializado). Então, vem comigo que hoje vamos ver dois problemas simples e interessantes que podem ser resolvidos com o que você já sabe e aprendeu nos artigos aqui da nossa série Aprenda Python.
A importância de saber modelar um problema em um código
A modelagem é uma etapa crucial no processo de programação. Decerto, ela desempenha um papel fundamental na criação de soluções eficientes e bem estruturadas. Com efeito, ao modelar um problema, os desenvolvedores são capazes de compreender completamente os requisitos e as restrições, identificar as melhores abordagens e selecionar as ferramentas adequadas para a tarefa em questão.
A modelagem permite que os programadores organizem suas ideias de forma coerente e lógica. Assim, ao dividir o problema em partes menores e mais gerenciáveis, é possível criar uma estrutura clara e compreensível. Em verdade, isso facilita a escrita do código e também a manutenção posterior, tornando o processo mais eficiente e menos propenso a erros.
Além disso, a modelagem ajuda na escolha das estruturas de dados e algoritmos apropriados. De fato, ao analisar cuidadosamente o problema, é possível identificar as melhores maneiras de armazenar e manipular os dados. Assim, esse processo leva a um código mais otimizado, com menor uso de recursos e maior desempenho.
Vantagens de usar Python 3
Com efeito, o Python 3 (versão 3.10 ) é a mais recente versão da linguagem dessa linguagem de programação. Nesse sentido, trabalhar com Python 3 te coloca essencialmente na posição mais moderna da linguagem, além de que há suporte para essa versão, ou seja, constantemente há atualizações e melhorias que vem sendo implementadas pelos desenvolvedores.
Tendo isso em vista, segue que sempre vamos empregar essa versão da linguagem. Em particular, os códigos a seguir irão ser desenvolvidos nessa versão da linguagem.
Python 3 na prática – apresentação dos problemas
Então, agora que já te explicamos por que de fato é importante que você saber modelar problemas vamos a três problemas que podem ser resolvidos com Python. Com efeito, esses problemas são na verdade motivadores para você iniciar no estudo das estruturas condicionais, onde estão os famosos ifs e elses. Nesse sentido, vamos aos seguintes problemas.
- Problema 1. Nesse problema você deve elaborar um algoritimo que seja capaz de decidir se um dado número é par ou ímpar.
- Problema 2. Faça um programa que ao recebe dois números do usuário. A partir disso, seu programa deve ser capaz de decidir a relação de ordem entre os dois números (Se são maiores, iguais ou menores). Ademais, o programa deve exibir qual é a relação existente entre os números.
Resolvendo o problema 1 em Python 3
O primeiro problema é essencialmente simples e é bem conhecido por quem está aprendendo a programar. De fato, elaborar um algorítimo que decida se um número é par ou ímpar é um problema elementar. Bom, vamos então descrever qual deve ser a lógica a ser utilizada no desenvolvimento desse código.
- Etapa 1. O programa deve ter um número como padrão (esse número deve ser um número inteiro pois a divisibilidade só se faz sentido no conjunto dos inteiros, logo temos uma variável do tipo int.).
- Etapa 2. Ademais, deve-se ter um tipo de tomada de decisão que permita o programa escolher se o número é par ou ímpar.
- Etapa 3. Com efeito, o critério que vamos usar é a exata definição matemática. Em particular, sabemos que um número é par se ele é divisível por 2. Todavia, isso ainda quer dizer que o resto da divisão do número por 2 deve ser 0. Isso é bem interessante uma vez que o Python já possui uma forma de fazer isso diretamente. Decerto, dados dois números a e b o resto da divisão entre eles é computado da seguinte forma: a % b.
- Etapa 4. Então, a tomada de decisão será do tipo: se o resto da divisão do número escolhido por 2 for zero então o número é par caso contrário, o número será impar.
Explicando estruturas condicionais.
Frente a descrição feita anteriormente, é possível elaborar o seguinte código como solução.
Nesse código introduzimos as estruturas ifs. Com efeito, ainda não conversamos sobre elas porém, dada sua simplicidade podemos fazer isso agora mesmo. De fato, uma estrutura if/else é uma estrutura condicional, isto é, ela estabelece uma condição para que uma ação seja feita. Logo, a sintaxe da escrita é sempre a seguinte:
- if condição a ser cumprida:
- ação que o código realiza se a ação for satisfeita.
No Python 3 não usamos chaves { } ou notações especificas para deixar claro que a condição seja referente ao dado if. Na verdade, o que deixa claro e especifica que a condição pertence ao if é ela estar identada com o if da forma como segue no código acima.
Ademais, aqui introduzimos outras notações importantes. Em particular, veja que usamos o símbolo de == que significa igual, diferentemente do símbolo = que refere-se apenas a dizer que a variável n recebe um valor inteiro que é um input do usuário como segue da primeira linha do código. Além disso, veja que usamos ainda o símbolo != que quer dizer diferente, usamos esse símbolo para negar uma condição, no código ele é usado para dizer o seguinte: Se n não tem resto zero quando dividido por 2 então o programa executa a linha print(“O número não é ímpar”).
Solução do problema 2 em Python
Agora vamos a solução do problema 2. Em verdade, esse programa é bem parecido com o problema 1. De fato, você verá aqui que quando entende-se a lógica de programação fica bem mais fácil e natural escrever esses códigos. Com efeito, nesse código vamos usar a seguinte lógica:
- O programa irá receber dois números do usuário (como não temos restrição esses números serão inteiros e logo deverão ser variáveis do tipo float).
- Em seguida, faremos três estruturas ifs uma para cada condição onde usaremos os quantificadores:
- > que denota maior que,
- < que denota menor que,
- == que denota igual.
- Em cada condição haverá um print associado a resposta que o programa deverá fornecer.
Então, com isso em mente é possível escrevermos como solução o seguinte:
nesse código que resolve nosso problema usamos uma estrutura nova chamada else. Com efeito, o else é empregado sempre após um if e ele é entendido e deve ser lido como um “se não”. Isto é, quando a estrutura do if não é satisfeita, o comando da estrutura else é satifeito. Logo, o bloco acima é lido da seguinte forma: se n for menor que m tem-se o print da mensagem SE NÃO(else) o programa executa a linha print(“os números são iguais”).
Outra solução para esse problema pode ser usar o quantificador == e então o else é substituido por um if n ==m: print(“os números são iguais”).
Referências
- MATTHES, Eric. Python Crash Course. 2. ed. São Paulo: No Starch Press, 2019.
- RAMALHO, Luciano. Fluent Python. Sebastopol: O’Reilly Media, 2015.
- 3. PYTHON. Documentação oficial do Python. Disponível em: https://docs.python.org/3/. Acesso em: 13 out. 2023.
4. PYTHON. Python.org. Disponível em: https://www.python.org/. Acesso em: 13 out. 2023.
5. PYTHONTUTOR. Python Tutor. Disponível em: http://pythontutor.com/. Acesso em: 13 out. 2023. - 6. REAL PYTHON. Disponível em: https://realpython.com/. Acesso em: 13 out. 2023.
7. GEEKSFORGEEKS. Disponível em: https://www.geeksforgeeks.org/python-programming-language/. Acesso em: 13 out. 2023.
8. SCHAFFER, Corey. Corey Schafer’s Python Tutorials. Disponível em: https://youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU. Acesso em: 13 out. 2023.