PythonTrilha · etapa 51h07
Seleção com `if`, `else` e operadores lógicos
Vídeos desta etapa, na ordem do portal:
- Condições booleanas · 35 min
- Operadores Booleanos · 32 min
As aulas 1 a 4 deixaram print(), variável, operações com string e input() com int() prontos no console. Esta aula retoma len(), índice e fatiamento para criar condições de verdade. Ela introduz bool com True e False, comparação, if e else e or, and e not para desviar o fluxo do programa.
O que foi falado
Vídeo 1 · 00:00:47True,Falsee tipoboolTrueeFalsesão os dois valores lógicos do Python e o tipo deles ébool. Os nomes são sensíveis a maiúsculas e minúsculas, entãotrueminúsculo dá erro. No debugger dá para ver a variável guardandoTrueouFalsee o tipobool.ligado = True desligado = False print(ligado) print(desligado)Saída
True False
Comparar com
Vídeo 1 · 00:04:22==,!=,>,<einComparações devolvem True ou False. == testa igualdade, = atribui e != testa diferença. >, >=, < e <= comparam números; com strings, a comparação é lexicográfica pelos caracteres Unicode, não uma ordenação alfabética que ignora acentos ou caixa. "azul" == "Azul" é False. in verifica se um trecho está contido em outro texto.
print(10 == 10) print("azul" == "Azul") print("ana" in "Mariana")Saída
True False True
Vídeo 1 · 00:16:50ifcom:e indentaçãoiftesta uma condição e só roda o bloco de baixo se ela forTrue. A linha éifmais condição mais:e o bloco vem na linha seguinte com deslocamento para a direita. Se a condição forFalseo programa pula o bloco e segue adiante. A aula usanumero < 10,len(cpf) == 11para CPF enumero % 2 == 0para par, cominput()convertido porint()quando é número.numero = 7 if numero < 10: print("menor que 10")Saída
menor que 10
Vídeo 1 · 00:29:31elsepara o caminho doFalseelsecria o caminho alternativo quando a condição doiféFalse. Ele fica na mesma coluna doif, escrito comoelsemais:e com bloco indentado embaixo. No exemplo par ou ímpar,numero % 2 == 0imprime"par"e oelseimprime"impar". Semelseoifsozinho só faz algo no casoTruee ignora o resto.numero = 7 if numero % 2 == 0: print("par") else: print("impar")Saída
impar
Juntar condições com
Vídeo 2 · 00:01:41or,andenotNas condições booleanas da aula, or aceita pelo menos uma condição verdadeira e and exige ambas. Eles usam curto-circuito: só avaliam o lado direito quando necessário. not inverte o valor lógico. Para negar um conjunto inteiro, agrupe as condições, como not (a == b or a == c). Em geral, and e or devolvem um de seus operandos, que não precisa ser bool.
idade = 20 tem_carteira = True if idade >= 18 and tem_carteira: print("pode dirigir")Saída
pode dirigir
Telemarketing com fatiamento,
Vídeo 2 · 00:17:16or,noteandO projeto lê o
telefonecomo string e pega o começo comtelefone[:4]para testar oprefixo. Primeiro a aula faz com doisifseparados e depois junta emprefixo == "0303" or prefixo == "0304". A versão invertida usanotcom parênteses para dizer que não é telemarketing. A regra do livro pede três condições juntas comand, só é telemarketing se todas foremTrue.telefone = "03031234567" prefixo = telefone[:4] if prefixo == "0303" or prefixo == "0304": print("telemarketing")Saída
telemarketing
Conceitos da aula
- bool
- if/else
- operadores de comparação
- in
- and
- or
- not
- len()
- input()
- int()
- fatiamento
- indexação
Reforce este assunto
- If-elif-else, isdigit e operadores lógicosPython · aula 10
- Operadores lógicos, comparação e precedênciaPython · aula 9
- Estruturas condicionais: if/else e operadores de comparaçãoPython · aula 8