Introdução a Lógica de Programação (Python)
1) Por que a transição para Python
- Mais simples que C: não tem
;, não tem{ }, não precisa declarar tipo antes (é dinamicamente tipada).
- Interativo: dá para testar no REPL (Python Shell) ou em arquivos
.py.
- Onde roda: Windows, Linux, macOS, web (Replit, Jupyter, etc.).
Como executar
- Instale o Python 3 (python.org).
- Instale as extensões do Python no vscode

- No VS Code crie uma pasta com o nome de Exercicios de Python
- Abra a pasta no VS code e crie o arquivo
aula.py→ escreva o código →Ctrl+F5(Run Without Debugging) ou no terminal:python aula.py.
2) Sintaxe básica
2.1 “Hello, World!”
Em C:
#include <stdio.h>
int main() {
printf("Hello World!");
return 0;
}Em Python:
print("Hello, World!")Sem main, sem ; e sem #include. Indentação importa!
2.2 Entrada e saída
Em C (resumido):
int idade;
scanf("%d", &idade);
printf("Idade: %d\n", idade);Em Python:
idade = int(input("Digite sua idade: "))
print(f"Idade: {idade}")input() sempre lê texto (string). Converta com int()/float() quando precisar de número.
f-stringsfacilitam o texto:f"Idade: {idade}".
3) Variáveis e tipos
- Inteiros:
n = 10
- Reais:
x = 3.14
- Texto (string):
nome = "Maria"
- Booleanos:
vivo = True/False
Não precisa declarar tipo antes. O Python descobre pelo valor.
Atribuição múltipla
a, b, c = 1, 2, 3Conversões
n = int("42")
x = float("2.5")
s = str(123)
4) Operadores
4.1 Aritméticos
+ - * / // % **
soma = 2 + 3
div_exata = 7 / 2 # 3.5
div_inteira = 7 // 2 # 3
resto = 7 % 2 # 1
pot = 2 ** 3 # 84.2 Relacionais
== != > < >= <=
4.3 Lógicos
and or not
maior = idade >= 18 and cidade == "Uberaba"4.4 Ordem de operações (resumo)
Parênteses → Potência → Multiplicação/Divisão → Soma/Subtração.
Use parênteses para deixar claro.
5) Condicionais
5.1 if / elif / else
Em C:
if (nota >= 60) { ... } else { ... }Em Python:
nota = float(input("Nota: "))
if nota >= 60:
print("Aprovado")
elif nota >= 40:
print("Recuperação")
else:
print("Reprovado")5.2 match-case (Python 3.10+)
Equivalente simples ao switch do C:
op = input("Opção (a/b/c): ")
match op:
case "a":
print("Abrir")
case "b":
print("Buscar")
case "c":
print("Configurar")
case _:
print("Opção inválida")6) Estruturas de repetição
6.1 while
i = 1
while i <= 5:
print(i)
i += 16.2 for com range
for i in range(1, 6): # 1,2,3,4,5
print(i)6.3 break e continue
for n in range(10):
if n == 5:
break # sai do laço
if n % 2 == 0:
continue # pula os pares
print(n) # imprime só ímpares até 57) Coleções (equivalentes a arrays/strings do C)
7.1 Listas (≈ vetor dinâmico)
nums = [10, 20, 30]
nums.append(40)
print(nums[0], len(nums))7.2 Matrizes (lista de listas)
mat = [
[1, 2, 3],
[4, 5, 6]
]
print(mat[1][2]) # 67.3 Strings
nome = "Maria"
print(nome.upper(), nome.lower(), len(nome))
print(nome[0], nome[-1], nome[1:4]) # slicingEm C, strings são char[] e precisam de %s no printf. Em Python, são objetos com métodos (.upper() etc.) e interpolação fácil com f-strings.
8) Funções
Em C:
int soma(int a, int b) { return a+b; }Em Python:
def soma(a, b):
return a + b
print(soma(2, 3))9) Formatação de saída (sem %d, %f)
Use f-strings:
nome = "Ana"
media = 8.75
print(f"Olá, {nome}. Sua média é {media:.2f}") # 2 casas decimais10) Exemplos “convertidos” da sua aula
10.1 Cadastro simples (nome, idade, cargo) e cálculo salarial
Seu enunciado em C pedia reajuste de 20% e depois desconto de 15% sobre o total.
nome = input("Nome: ")
idade = int(input("Idade: "))
cargo = input("Cargo: ")
salario_bruto = float(input("Salário bruto (R$): "))
salario_reajustado = salario_bruto * 1.20
salario_liquido = salario_reajustado * 0.85
print("\n--- Resultado ---")
print(f"Nome: {nome}")
print(f"Idade: {idade}")
print(f"Cargo: {cargo}")
print(f"Salário bruto total (c/ 20%): R$ {salario_reajustado:.2f}")
print(f"Salário líquido (desc. 15%): R$ {salario_liquido:.2f}")
10.2 Par/Ímpar (if/else)
n = int(input("Número: "))
if n % 2 == 0:
print("Par")
else:
print("Ímpar")
10.3 Média de N números (while)
qtd = int(input("Quantos números? "))
soma = 0
i = 0
while i < qtd:
soma += float(input(f"Número {i+1}: "))
i += 1
media = soma / qtd if qtd > 0 else 0
print(f"Média = {media:.2f}")
10.4 Tabuada (for)
n = int(input("Tabuada de: "))
for i in range(1, 11):
print(f"{n} x {i} = {n*i}")
10.5 Vetor: maior e menor
valores = []
for i in range(5):
valores.append(float(input(f"Valor {i+1}: ")))
print(f"Maior: {max(valores)} | Menor: {min(valores)}")