1.
Manipulação de Strings
1. Inverter uma string sem usar [::-1].
2. Verificar se uma string é um palíndromo.
3. Contar a frequência de cada caractere em uma string.
4. Substituir todas as vogais de uma string por um caractere específico.
5. Encontrar a substring mais longa sem caracteres repetidos.
6. Remover caracteres duplicados de uma string.
7. Verificar se duas strings são anagramas.
8. Gerar todas as permutações possíveis de uma string.
9. Encontrar a maior substring comum entre duas strings.
10. Implementar um algoritmo para comprimir uma string (ex: "aaabb" → "a3b2").
2. Estruturas de Dados (Listas, Tuplas, Dicionários, Conjuntos)
11. Remover elementos duplicados de uma lista mantendo a ordem original.
12. Encontrar o segundo maior número em uma lista sem usar sort().
13. Ordenar uma lista sem usar funções embutidas de ordenação.
14. Implementar uma pilha (stack) usando listas.
15. Implementar uma fila (queue) usando listas.
16. Encontrar a interseção entre duas listas sem usar set().
17. Criar uma matriz 5x5 preenchida com números aleatórios.
18. Transpor uma matriz (converter linhas em colunas).
19. Criar um dicionário a partir de duas listas (chave-valor).
20. Criar um sistema de contagem de palavras em um texto.
3. Algoritmos Matemáticos
21. Verificar se um número é primo.
22. Gerar os primeiros N números da sequência de Fibonacci.
23. Encontrar o MDC (Máximo Divisor Comum) de dois números.
24. Encontrar o MMC (Mínimo Múltiplo Comum) de dois números.
25. Resolver o problema das Torres de Hanói.
26. Implementar o Crivo de Eratóstenes para encontrar primos até N.
27. Verificar se um número é uma potência de 2.
28. Implementar um algoritmo para converter decimal para binário.
29. Calcular o fatorial de um número de forma iterativa e recursiva.
30. Implementar a soma de dois números sem usar o operador +.
4. Algoritmos de Ordenação e Busca
31. Implementar o algoritmo de ordenação Bubble Sort.
32. Implementar o algoritmo de ordenação Selection Sort.
33. Implementar o algoritmo de ordenação Insertion Sort.
34. Implementar o algoritmo de ordenação Merge Sort.
35. Implementar o algoritmo de ordenação Quick Sort.
36. Implementar o algoritmo de ordenação Heap Sort.
37. Implementar busca binária em uma lista ordenada.
38. Implementar o algoritmo de ordenação Counting Sort.
39. Implementar uma árvore binária de busca (BST).
40. Implementar o algoritmo de busca em largura (BFS).
5. Programação Orientada a Objetos (POO)
41. Criar uma classe Carro com atributos como marca, modelo e ano.
42. Criar uma classe ContaBancaria com métodos para depósito e saque.
43. Implementar uma classe Funcionario e calcular salário com bônus.
44. Criar uma hierarquia de classes para representar formas geométricas.
45. Criar uma classe que implementa um Singleton.
46. Criar uma classe Produto com métodos para calcular desconto.
47. Implementar um sistema de herança entre classes Animal e subtipos (Cachorro,
Gato).
48. Criar um gerador de números aleatórios com uma classe.
49. Implementar um sistema de cadastro de usuários com POO.
50. Criar uma classe Agenda para gerenciar contatos.
6. Manipulação de Arquivos
51. Ler um arquivo texto e contar o número de palavras.
52. Criar um programa que copie o conteúdo de um arquivo para outro.
53. Criar um programa que leia um arquivo CSV e exiba os dados formatados.
54. Criar um programa que criptografa e descriptografa textos em arquivos.
55. Criar um sistema de logs que escreve erros em um arquivo.
56. Implementar um programa que comprime um arquivo de texto.
57. Criar um programa que converte um arquivo JSON para CSV.
58. Criar um programa que busca uma palavra dentro de um arquivo.
59. Criar um programa que remove linhas duplicadas de um arquivo.
60. Implementar um programa que salva dados de uma lista em um arquivo.
7. Bibliotecas Populares (NumPy, Pandas, Matplotlib)
61. Criar uma matriz aleatória 4x4 usando NumPy.
62. Realizar operações matemáticas em arrays com NumPy.
63. Criar um gráfico de linha simples usando Matplotlib.
64. Criar um gráfico de barras comparando dois conjuntos de dados.
65. Criar um DataFrame Pandas e manipular colunas e linhas.
66. Realizar operações de agregação em um DataFrame Pandas.
67. Carregar dados de um arquivo CSV usando Pandas.
68. Criar um histograma a partir de uma lista de números.
69. Criar um gráfico de dispersão para visualizar correlações.
70. Criar um heatmap com uma matriz de correlação.
8. Web Scraping e APIs
71. Fazer scraping de uma página da web e extrair títulos de notícias.
72. Criar um programa que baixa imagens da web automaticamente.
73. Implementar um bot que extrai preços de produtos online.
74. Criar um script que automatiza o envio de e-mails com Python.
75. Criar um programa que busca tweets usando a API do Twitter.
76. Implementar uma API REST simples usando Flask.
77. Criar um sistema de login usando Flask e SQLite.
78. Criar um bot do Telegram que responde mensagens automaticamente.
79. Fazer uma requisição a uma API de previsão do tempo e exibir os dados.
80. Criar um sistema que converte textos para áudio usando Python.
9. Inteligência Artificial e Machine Learning
81. Criar um modelo de regressão linear usando scikit-learn.
82. Criar um modelo de classificação para prever se um e-mail é spam.
83. Implementar um algoritmo de clustering (K-means).
84. Criar um modelo que reconhece dígitos manuscritos.
85. Implementar um algoritmo de recomendação de filmes.
86. Criar um chatbot simples usando IA.
87. Implementar um classificador de sentimentos em textos.
88. Criar um programa que detecta faces em imagens.
89. Criar uma rede neural simples usando TensorFlow.
90. Criar um modelo de reconhecimento de voz usando Python.
10. Problemas Avançados e Desafios
91. Resolver o problema do caixeiro-viajante.
92. Criar um algoritmo genético para otimização.
93. Criar um simulador de Monte Carlo para prever resultados.
94. Implementar um interpretador de expressões matemáticas.
95. Criar um programa que gera senhas seguras automaticamente.
96. Criar um sistema de reconhecimento óptico de caracteres (OCR).
97. Criar um sistema de recomendação de produtos baseado em histórico de
compras.
98. Desenvolver um jogo simples em Python (Ex: Snake, Pong).
99. Criar um compilador simples que traduz código-fonte para outra linguagem.
100. Criar um sistema que detecta fraudes em transações bancárias.