Entrada e Saída de Dados
A função input() permite ao usuário fornecer dados ao programa, enquanto print() exibe informações na tela.
nome = input("Por favor, digite seu nome: ")
print(f"Olá, {nome}!")
# O programa aguardará o usuário digitar algo antes de continuar
É importante notar que os dados obtidos através do input() são tratados como strings por padrão. Para convertê-los para outros tipos de dados, é necessário fazer uma conversão explícita:
idade = int(input("Digite sua idade: "))
altura = float(input("Digite sua altura em metros: "))
Estruturas Condicionais
Em Python, a indentação define os blocos de código. Geralmente, usamos 4 espaços para cada nível de indentação. Códigos com mesma indentação pertencem ao mesmo bloco de execução.
Estrutura de Ramificação Simples
idade = int(input("Informe sua idade: "))
if idade >= 18:
print("Você é maior de idade")
else:
print("Você é menor de idade")
Estrutura de Ramificação Múltipla
nota = int(input("Digite sua nota final: "))
if nota >= 90:
print("Excelente desempenho!")
elif nota >= 80:
print("Bom trabalho!")
elif nota >= 70:
print("Satisfatório!")
elif nota >= 60:
print("Aprovado por pouco!")
else:
print("Reprovado. Estude mais!")
Condições Múltiplas
nota_matematica = int(input("Digite sua nota em Matemática: "))
nota_portugues = int(input("Digite sua nota em Português: "))
if nota_matematica >= 70 and nota_portugues >= 70:
print("Parabéns! Você passou em ambas as disciplinas")
elif nota_matematica < 70 and nota_portugues >= 70:
print("Você passou em Português, mas precisa melhorar em Matemática")
elif nota_matematica >= 70 and nota_portugues < 70:
print("Você passou em Matemática, mas precisa melhorar em Português")
else:
print("Você precisa estudar mais ambas as disciplinas")
Condicais Aninhados
clima = "chuvoso"
dia = "sábado"
if dia == "sábado":
if clima == "ensolarado":
print("Dia perfeito para um piquenique!")
else:
print("Melhor ficar em casa e ler um livro")
else:
print("Dia de trabalho normal")
Operador Ternário
O operador ternário permite escrever condições de forma concisa, mas pode tornar o código menos legível em casos complexos:
nota = int(input("Digite sua nota: "))
print("Aprovado") if nota >= 60 else print("Reprovado")
Estruturas de Repetição (Laços)
As estruturas de repetição permitem executar um bloco de código várias vezes. Python oferece dois tipos principais de laços: while e for.
Laco while
O laço while executa repetidamente enquanto uma condição for verdadeira. É útil quando não sabemos o número exato de repetições necessárias.
contador = 0
while contador < 5:
print("Executando a iteração", contador)
contador += 1
Laços while Aninhados
Quando um laço está dentro de outro, o laço externo executa uma vez para cada iteração completa do laço interno.
linhas = 3
colunas = 3
linha_atual = 0
while linha_atual < linhas:
coluna_atual = 0
while coluna_atual < colunas:
print(f"({linha_atual}, {coluna_atual})")
coluna_atual += 1
linha_atual += 1
Laço for
O laço for é usado quando sabemos o número de repetições ou quando queremos iterar sobre elementos de uma sequência.
frutas = ["maçã", "banana", "cereja"]
for fruta in frutas:
print(fruta)
Iterando sobre Diferentes Tipos de Dados
Strings:
mensagem = "Python"
for caractere in mensagem:
print(caractere)
Listas:
numeros = [10, 20, 30, 40, 50]
for numero in numeros:
print(numero)
Tuplas:
coordenadas = (10, 20, 30)
for ponto in coordenadas:
print(ponto)
Conjuntos:
cores = {"vermelho", "verde", "azul"}
for cor in cores:
print(cor)
# Note: conjuntos são não ordenados, então a ordem pode variar
Dicionários:
pessoa = {"nome": "João", "idade": 30, "cidade": "São Paulo"}
# Iterando sobre as chaves
for chave in pessoa:
print(chave)
# Iterando sobre os valores
for valor in pessoa.values():
print(valor)
# Iterando sobre pares chave-valor
for chave, valor in pessoa.items():
print(f"{chave}: {valor}")
A função range()
A função range() gera sequências de números e é muito usada com laços for.
Formas de usar range():
range(n): Gera números de 0 a n-1
for i in range(5):
print(i)
# Saída: 0, 1, 2, 3, 4
range(início, fim): Gera números do início ao fim-1
for i in range(2, 7):
print(i)
# Saída: 2, 3, 4, 5, 6
range(início, fim, paso): Gera números do início ao fim-1 com o passo especificado
for i in range(1, 10, 2):
print(i)
# Saída: 1, 3, 5, 7, 9
Laços for Aninhados
Assim como com os laços while, podemos aninhar laços for. É recomendado manter a aninhagem em no máximo dois níveis para manter o código legível.
for i in range(2):
for j in range(3):
print(f"i={i}, j={j}")
Comandos break e continue
break: Interrompe imediatamente o laço atual
for numero in range(10):
if numero == 5:
break
print(numero)
# Saída: 0, 1, 2, 3, 4
continue: Pula para a próxima iteração do laço atual
for numero in range(10):
if numero == 5:
continue
print(numero)
# Saída: 0, 1, 2, 3, 4, 6, 7, 8, 9
Resumo
Estruturas condicionais: Permitem controlar o fluxo do programa, executando diferentes blocos de código com base em condições.
if condição:
# código a ser executado se a condição for verdadeira
elif outra_condição:
# código a ser executado se a outra condição for verdadeira
else:
# código a ser executado se nenhuma condição for verdadeira
Estruturas de repetição: Permitem executar blocos de código múltiplas vezes.
while: Repete anquanto uma condição for verdadeirafor: Itera sobre elementos de uma sequência ou sobre um intervalo de números
Controle de laços:
break: Interrompe o laço imediatamentecontinue: Pula para a próxima iteração do laço