Você está na página 1de 40

Industria 4.

LÓGICA E PYTHON
2

Sumário 
Capítulo 01 ..................................................................................................................................... 4
A) O que são algoritmos? Aplicações e oportunidades de emprego. ...................... 4

B) O que é Python? ...................................................................................................... 5

C) Variáveis .................................................................................................................. 6

D) Entrada e Saída de Dados ....................................................................................... 7

E) Tipos de Dados ........................................................................................................ 8


Capítulo 02 ..................................................................................................................................... 9
A) Operações Matemáticas ......................................................................................... 9
Capítulo 03 ................................................................................................................................... 11
A) Operações de Comparação .................................................................................. 11

B) Operadores Lógicos .............................................................................................. 12

C) Comandos Condicionais ....................................................................................... 13


Capítulo 04 ................................................................................................................................... 17
A) Vetores (Listas e Dicionários) .............................................................................. 17

B) Strings .................................................................................................................... 19
Capítulo 05 ................................................................................................................................... 23
A) Comandos de Repetição ....................................................................................... 23
Capítulo 06 ................................................................................................................................... 28
A) Funções .................................................................................................................. 28

B) Recursão ................................................................................................................ 31
Capítulo 07 ................................................................................................................................... 33
A) Exceções ................................................................................................................ 33

B) Manipulação de arquivos...................................................................................... 33
Capítulo 08 ................................................................................................................................... 34
A) Matrizes ................................................................................................................. 34
Capítulo 09 ................................................................................................................................... 35
B) Programação orientada a objetos........................................................................ 35
Capítulo 10 ................................................................................................................................... 36
3

C) Interface gráfica .................................................................................................... 36


Capítulo 11 ................................................................................................................................... 38
D) Exercícios da OBI Dia 1 ......................................................................................... 38
Capítulo 12 ................................................................................................................................... 39
E) Exercícios da OBI Dia 2 ......................................................................................... 39
Capítulo 13 ................................................................................................................................... 40
F) Trabalho de Conclusão de Curso (TCC) .............................................................. 40
4

Capítulo 01
A) O que são algoritmos? Aplicações e oportunidades de emprego.

Algoritmos são sequências lógicas de instruções que resolvem um problema ou


executam uma tarefa. A programação, por sua vez, é a atividade de escrever esses
algoritmos em uma linguagem de programação que um computador pode executar.

As aplicações da programação são vastas e variadas, e estão presentes em


quase todos os aspectos da nossa vida cotidiana. Alguns exemplos de aplicações
incluem:
 Desenvolvimento de software: a criação de programas, aplicativos e
sistemas operacionais que executam em computadores e dispositivos móveis.
 Web development: criação de sites e aplicações web.
 Machine learning e inteligência artificial: desenvolvimento de algoritmos e
modelos de aprendizado de máquina que permitem que os computadores "aprendam"
com os dados e realizem tarefas complexas.
 Automação de processos: programação de robôs e sistemas
automatizados que executam tarefas repetitivas ou complexas em fábricas, armazéns e
outras indústrias.
Quanto às oportunidades de emprego, a demanda por profissionais de
programação é alta e continua a crescer. Muitas empresas de tecnologia e startups estão
buscando desenvolvedores de software, web designers, especialistas em inteligência
artificial e engenheiros de dados, entre outros. Além disso, muitas empresas em outras
indústrias, como finanças, saúde e varejo, estão investindo em tecnologia e contratando
profissionais de programação para ajudá-las a automatizar processos e melhorar sua
eficiência.

Em resumo, a programação é uma habilidade valiosa e versátil que pode levar a


uma ampla gama de oportunidades de emprego em muitas indústrias diferentes.to
introdutório: para que ele serve? O que faz? (o que será usado?).

Saiba mais: https://www.youtube.com/watch?v=QXjU9qTsYCc


5

Exercício

1) Crie um algoritmo para escovar os dentes.

B) O que é Python?

Python é uma linguagem de programação de alto nível, interpretada, orientada a


objetos e com tipagem dinâmica. Ela foi criada em 1991 por Guido van Rossum e é uma
das linguagens de programação mais populares do mundo. Outras também bastante
conhecidas são : JavaScript, Java, PHP, C#, C++, TypeScript, Ruby, Swift, Objective-C, etc.

Uma das principais vantagens de Python em relação a outras linguagens de


programação é sua facilidade de aprendizado. Sua sintaxe é simples e legível, com
palavras-chave em inglês e indentação significativa, o que facilita a leitura do código e
reduz erros de sintaxe.

Além disso, Python é uma linguagem interpretada, o que significa que o código
é executado diretamente pelo interpretador Python, sem a necessidade de compilar o
código em um arquivo executável separado. Isso torna o processo de desenvolvimento
mais rápido e menos propenso a erros.

Python também tem uma grande biblioteca padrão, com muitas funções úteis e
módulos para uma ampla variedade de tarefas, como manipulação de arquivos, conexão
de banco de dados, processamento de texto, entre outros. Isso reduz a necessidade de
escrever código do zero para cada tarefa e permite que os desenvolvedores criem
aplicativos mais rapidamente.

Outra vantagem de Python é sua versatilidade. Python pode ser usado para uma
ampla variedade de tarefas, desde desenvolvimento web até ciência de dados e
aprendizado de máquina, tornando-o uma linguagem de programação popular em muitas
indústrias e campos.

Por fim, Python é uma linguagem de programação de código aberto, com uma
grande comunidade de desenvolvedores e recursos disponíveis on-line gratuitamente, o
que a torna acessível e acessível para novos desenvolvedores que desejam aprender a
programar.
6

Exercício

2) Cite três linguagens de Programação? Pesquise e diga em qual situação é melhor


usar cada uma.

C) Variáveis

Variáveis na programação são espaços de armazenamento em memória que


contêm um valor específico atribuído pelo programador. Essas variáveis podem
armazenar diferentes tipos de dados, como números, texto, booleanos, entre outros.

As variáveis são usadas em programas para armazenar valores temporários ou


permanentes que são usados em operações posteriores. Por exemplo, em um programa
de calculadora simples, uma variável pode ser usada para armazenar o primeiro número
digitado pelo usuário antes de uma operação matemática ser realizada.

As variáveis podem ter diferentes tipos de dados, como:


 Inteiro (int): para armazenar números inteiros positivos ou negativos.
 Flutuante (float): para armazenar números decimais.
 Booleano (bool): para armazenar valores verdadeiro ou falso.
 String (str): para armazenar texto.

O uso adequado de variáveis é essencial para o desenvolvimento de programas


e sistemas de software complexos e eficientes. Os programadores devem estar cientes
de quais dados são armazenados em uma variável e como a variável é usada no
programa para evitar erros e bugs.

Exemplo: Imprimindo textos e números salvos em variáveis para forma uma


frase.

x= 5 
y= "John tem" 
w="anos" 
7

print(x) 
print(y) 
print(w) 
print(y,x,w) 
 

Exercícios 

3) Crie uma variável com um nome de uma pessoa e outra com sua idade.

4) Tente colocar os seguintes caracteres no nome de uma variável e diga quais geram
erros e quais não geram erros: Letras de A-z, números de 0 até 9, _, - , espaço entre
palavras, #, @, $, &, \, etc.

D) Entrada e Saída de Dados

Agora iremos aprender usar os comandos input() e print().

Exemplo: Você fala para o programa quantos anos que você tem e ele diz em
qual ano você nasceu

idade = input("Qual sua idade: ") 
idade_int = int(idade) 
ano_nascimento = 2023‐idade_int 
ano_nascimento_texto = str(ano_nascimento) 
resposta = "Você nasceu no ano de "+ ano_nascimento_texto 
print (resposta) 

Exercício

5) Crie um programa que pergunte seu nome e depois de bom dia e pergunte se você
está bem.
8

E) Tipos de Dados

Exemplo: Agora vamos criar uma variável para cada tipo.

tipo_int = 13  # Variável que armazena um número inteiro 
tipo_string = "é um número legal"  # Variável que armazena uma string de texto 
tipo_float = 13.5  # Variável que armazena um número de ponto flutuante 
tipo_boolean = True  # Variável a que pode ser True (verdadeiro) ou False (falso) 
 

Exercício 

6) Crie uma variável para cada tipo (int, float, string, boolean) e faca a conversão de uma
para os outros tipos de variáveis usando as funções int(), float(), str(), bool(); e salve
a resposta em outra variável. Use o comando type() para ver se realmente a variável
foi convertida.

Exemplo: Agora iremos imprimir o tipo das variáveis usando o comando type().

print(type(tipo_int)) 
print(type(tipo_string)) 
print(type(tipo_float)) 
print(type(tipo_boolean)) 
 
9

Capítulo 02
A) Operações Matemáticas

Operador Símbolo Função

Adição + Soma dois valores

Subtração - Subtrai um valor de outro

Multiplicação * Multiplica dois valores

Divisão / Divide um valor por outro

Modulo % Retorna o resto da divisão

Exponenciação ** Eleva um valor a uma potência

Divisão inteira // Divide um valor e retorna a parte inteira do


resultado

Exemplo: Agora vamos usar todas as operações matemáticas básicas

num1 = 3 
num2 = 2 
 
op_adicao = num1+num2 # Adição 
op_sub = num1‐num2 # Subtração 
op_div = num1/num2 # Divisão 
op_multp = num1*num2 # Multiplicação 
op_expo = num1**num2 # Expeneciação 
op_resto = num1%num2 # Resto da divisão 
 
print("O resultado da adição é: ", op_adicao) 
print("O resultado da subtração é: ", op_sub) 
print("O resultado da divisão é:", op_div,) 
print("O resultado da multiplicação é: ", op_multp) 
print("O resultado da exponenciação é: ", op_expo) 
print("O resto da operação da divisão: ", op_resto) 
 

Exercícios 

1) Faça um programa que leia dois numeros inteiros e um real e o imprima a soma
deles.
10

2) Leia uma temperatura em graus Celsius e apresente-a convertida em graus


Fahrenheit.

3) Agora faça um programa que converta de Fahrenheit para Celsius.

4) Leia um número inteiro e imprima a soma do seu antecessor com o triplo do seu
sucessor.

5) Faça um programa que leia o valor de um produto e imprima o valor com desconto,
tendo em vista que o desconto foi de 12%.

6) Uma empresa contrata um encanador a R$ 30,00 por dia. Faça um programa que
solicite o número de dias trabalhados pelo encanador e imprima a quantia líquida
que deverá ser paga, sabendo-se que são descontados 8% para imposto de renda.

7) Três amigos jogaram na loteria. Caso eles ganhem, o prêmio deve ser repartido
proporcionalmente ao valor que cada deu para a realização da aposta. Faça um
programa que leia quanto cada apostador investiu, o valor do prêmio, e imprima
quanto cada um ganharia do prêmio com base no valor investido.
11

Capítulo 03
A) Operações de Comparação

Operador Símbolo Função

Igualdade == Retorna verdadeiro se os dois valores


comparados forem iguais

Desigualdade != Retorna verdadeiro se os dois valores


comparados forem diferentes

Maior que > Retorna verdadeiro se o primeiro valor for


maior que o segundo

Menor que < Retorna verdadeiro se o primeiro valor for


menor que o segundo

Maior ou igual >= Retorna verdadeiro se o primeiro valor for


a maior ou igual ao segundo

Menor ou igual <= Retorna verdadeiro se o primeiro valor for


a menor ou igual ao segundo

Exemplo: Fazendo todas as comparações entre dois números.

num1 = 5 
num2 = 5 
 
op_menor = num1<num2 
op_maior = num1>num2 
op_igual = num1==num2 
op_dife = num1!=num2 
op_maior_igual = num1>=num2 
op_menor_igual = num1<=num2 
 
print(num1,"é menor que",num2,"?",'\n',op_menor) 
print (num1,"é maior que",num2,"?",op_maior) 
print(num1,"é igual",num2, "?",op_igual) 
print(num1, 'é diferente' ,num2, "?",op_dife) 
print(num1,"é maior ou igual a", num2,"?",op_maior_igual) 
print(num1,"é menor ou igual a", num2,"?",op_menor_igual) 
 
12

Exercício 

1) Complete a tabela abaixo com as palavras True e False. Caso tenha dúvida faça o
teste usando a linguagem Python

5==”5”

-4<=0

5 != (10/2)

6>2

9<=9

B) Operadores Lógicos

Operador Símbolo Função

E lógico and Retorna verdadeiro se ambos os valores comparados forem


verdadeiros

Ou lógico or Retorna verdadeiro se pelo menos um dos valores comparados for


verdadeiro

Não not Retorna verdadeiro se o valor comparado for falso e vice-versa


lógico

Exemplo: Usando todos os operadores lógicos

#AND 
print (True and True) 
print (True and False) 
print (False and False) 
 
#OR 
print (True or True) 
print (True or False) 
print (False or False) 
 
#NOT 
print (not(True or False)) # modifique para mudar o resultado adicionado outro 
not 
 
 
13

Exercícios 

2) Complete a tabela abaixo com as palavras True e False. Caso tenha dúvida faça o
teste usando a linguagem Python

5<6 and 1==10

not 6>2

5<6 or 1==10

C) Comandos Condicionais

IF

If é uma estrutura de controle de fluxo utilizada em programação para permitir


que o código tome decisões com base em uma condição especificada. É uma das
instruções mais básicas em programação e é usada em muitas linguagens de
programação, incluindo Python, Java, C++, entre outras.

A estrutura básica do if é a seguinte:

if condição:

código a ser executado se a condição for verdadeira

Ou seja, se a condição especificada for avaliada como verdadeira, o código


dentro do bloco do if será executado. Se a condição for avaliada como falsa, o código
dentro do bloco do if será ignorado e o programa continuará a executar o código seguinte
após o bloco do if.

Além disso, a estrutura do if também pode ser expandida com outras instruções
de controle de fluxo, como else e elif (abreviação de else if). Isso permite que o código
tome diferentes decisões com base em várias condições.
14

Exemplo: Melhorando o algoritmo de descobrir o ano de nascimento do usuário,


pergunto se o usuário já fez aniversário:

idade = int(input("Digite a sua idade: ")) 
aniversario = input("Você já fez aniversário este ano? (S ou N):") 
#processamento 
if (aniversario == "S"): 
    ano = 2023 ‐ idade 
else: 
    ano = 2022 ‐ idade 
print ("O seu ano de nascimento é:", ano) 

ELIF

Exemplo: Printando uma barra de vida colorida. Quando o personagem leva


dano ela diminui (só funciona no vs code):

vida = 100 
dano = int(input("Dano: ")) 
#processamento e saída 
vida = vida ‐ dano 
if (vida >= 80): 
    print("\033[92m█"*vida) 
elif (vida > 40 and vida < 80): 
    print("\033[33m█"*vida) 
elif (vida <= 40): 
    print("\033[31m█"*vida) 
else: 
    print("valor incorreto") 
 
Exercícios 

3) Faça um programa que receba dois números e mostre o maior. Se por acaso, os dois
números forem iguais, imprima a mensagem números iguais.

4) Faça um programa que receba três números e mostre-os em ordem crescente.

5) Faça um programa que receba um número inteiro e verifique se este número é par
ou ímpar.

6) Leia o salário de um trabalhador e o valor da prestação de um empréstimo. Se a


prestação for maior que 20% do salário imprima: Empréstimo não concedido, caso
contrário imprima: Empréstimo concedido.

7) Escrever um programa que leia o código do produto escolhido do cardápio de uma


lanchonete e a quantidade. O programa deve calcular o valor a ser pago por aquele
15

lanche. Considere que a cada execução somente será calculado um pedido. O


cardápio da lanchonete segue o padrão abaixo:

Produto Código Preço

Hambúrguer simples 001 R$ 10,00

Refrigerante lata 002 R$ 5,00

Cheeseburger simples 003 R$ 12,00

Milkshake pequeno 004 R$ 12,00

Batata frita 005 R$ 8,00

8) Faça um algoritmo que calcule a média ponderada das notas de 3 provas. A primeira
e a segunda prova têm peso 1 e a terceira tem peso 2. Ao final, mostrar a média do
aluno e indicar se o aluno foi aprovado ou reprovado. A nota para aprovação deve
ser igual ou superior a 60 pontos.

9) Faça um programa que receba a altura e o sexo de uma pessoa e calcule e mostre
seu peso ideal, utilizando as seguintes formulas (onde h corresponde à altura):
 Homens: (72.7 ∗ h) − 58
 Mulheres: (62, 1 ∗ h) − 44, 7

10) Faça um programa que mostre ao usuário um menu com 4 opções de operações
matemáticas (as básicas, por exemplo). O usuário escolhe uma das opções e o seu
pro grama então pede dois valores numéricos e realiza a operação, mostrando o
resultado e saindo.

11) Leia a idade e o tempo de serviço de um trabalhador e escreva se ele pode ou não se
aposentar. As condições para aposentadoria são
 Ter pelo menos 65 anos,
 Ou ter trabalhado pelo menos 30 anos,
 Ou ter pelo menos 60 anos e trabalhado pelo menos 25 anos

12) Uma empresa vende o mesmo produto para quatro diferentes estados. Cada estado
possui uma taxa diferente de imposto sobre o produto (MG 7%; SP 12%; RJ 15%; MS
8%). Faça um programa em que o usuário entre com o valor e o estado destino do ´
produto e o programa retorne o preço final do produto acrescido do imposto do
estado e

13) m que ele será vendido. Se o estado digitado não for valido, mostrar uma mensagem
´ de erro.
16

14) Leia uma data de nascimento de uma pessoa fornecida através de três números
inteiros: Dia, Mês e Ano. Teste a validade desta data para saber se está e uma data
válida. Teste ´ se o dia fornecido e um dia valido: dia > 0, dia ≤ 28 para o mês de
fevereiro (29 se o ano for bissexto), dia ≤ 30 em abril, junho, setembro e novembro,
dia ≤ 31 nos outros meses. Teste a validade do mês: mês> 0 e mês< 13. Teste a
validade do ano: ano ≤ ano atual (use uma constante definida com o valor igual a
2008). Imprimir: “data valida” ´ ou “data invalida” no final da execução do programa.

 
 
17

Capítulo 04
A) Vetores (Listas e Dicionários)

Em programação, um vetor (também chamado de array) é uma estrutura de


dados que armazena uma coleção de elementos do mesmo tipo, acessíveis por um
índice ou posição. Cada elemento do vetor é identificado por um índice inteiro,
começando em 0 e indo até o tamanho do vetor menos 1.

Os vetores são úteis para armazenar dados que precisam ser acessados de
forma sequencial ou para armazenar um conjunto de dados do mesmo tipo. Por exemplo,
um vetor pode ser usado para armazenar as notas de um conjunto de alunos, onde cada
elemento do vetor representa a nota de um aluno específico.

Os elementos de um vetor podem ser acessados usando seu índice, permitindo


que os dados sejam facilmente manipulados e processados. Além disso, os vetores
permitem a iteração através de seus elementos usando loops, tornando o
processamento de dados mais eficiente.

Vale lembrar que os vetores têm tamanho fixo e uma vez criados, não podem ser
alterados. No entanto, em algumas linguagens de programação, existem estruturas de
dados semelhantes aos vetores que permitem adicionar e remover elementos
dinamicamente, como as listas em Python ou os vetores dinâmicos em C++.

Exemplo: Criando, imprimindo, modificando, adicionando e removendo


elementos de uma lista com idades de pessoas.

idades = ['Ana',14, 'Bruno',20, 'Camila',18] 
print(idades) 
print(type(idades)) 
idades[3]=21 
print(idades) 
idades.append(“Julia”) 
idades.append(16) 
print(lista_numeros) 
lista_numeros.pop(2) 
lista_numeros.pop(3) 
print(lista_numeros)  
 

Exemplo: Criando, acessando, removendo, modificando e adicionando um


elemento de um dicionário.
18

frutas = { 
“Maçã” : “vermelha”, 
“Banana” : “amarela”, 
“Morango” : “vermelho”, 
“Laranja” : “laranja”, 
“Uva” : “roxa” 

print(frutas) 
print(type(frutas)) 
 
fru = input(“Qual fruta você quer saber a colar?”) 
cor = frutas[fru] 
print(“A cor do(a) ”, fru, “é”, cor) 
frutas[“Maçã”]=verde 
print(frutas) 
frutas[“Limão”] = verde 
print(frutas) 
frutas.pop(“Uva”) 
print(frutas) 
 

Mais métodos das Listas:


https://www.w3schools.com/python/python_lists_methods.asp

Mais métodos dos dicionários:


https://www.w3schools.com/python/python_dictionaries_methods.asp

Exercícios

1) Faça um programa para ler a nota da prova de 3 alunos e armazene num vetor,
calcule e imprima a média geral.

2) Crie lista X com cinco números que o usuário deve digitar e mostre ela. Depois crie
outra lista Y cujo o primeiro elemento deve ser o último de X, o segundo de Y seja
igual ao penúltimo de X, até que o último de Y seja o primeiro de X.

3) Peça para o usuário digitar três números, salve-os em um vetor, e pergunte se para
o usuário se ele quer ordenar os números em ordem crescente ou decrescente, salve
os números ordenados no vetor e depois mostre para o usuário.

4) Faça um programa que leia dois vetores de quatro posições e calcule outro vetor
contendo, nas posições pares os valores do primeiro e nas posições impares os
valores do segundo.

5) Crie um uma lista de cinco números e o programa deve falar qual é menor valor e o
maior.
19

6) Crie um dicionário cuja chave é o nome de uma pessoa e dos dados armazenados
em um vetor de 3 elementos que são: idade, e-mail e telefone. O programa deve
perguntar para o usuário de qual pessoa ele quer saber as informações e depois
mostrar o nome, idade, e-mail e telefone da pessoa escolhida.

7) Leia um vetor com quatro números inteiros. Escreva os elementos do vetor


eliminando os repetidos.

8) Crie um dicionário cuja chave é o nome do aluno e o valor é a altura dele. O programa
deve dizer qual aluno é o mais baixo e quem é o mais alto, mostre também a idade
deles.

9) Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a
união entre os 2 vetores anteriores, ou seja, que contenha os números dos dois
vetores. Não deve conter números repetidos.

10) Receba cinco números do usuário, crie três vetores X, Y e W para salva-los, onde:
 X: irá conter os números múltiplos de 10;
 Y: irá conter os números pares;
 W: irá conter os ´números impares.

11)Crie um vetor com produtos de uma loja de tecnologia (Smartphones, Computadores,


Câmeras, Microfones e Smart TV). O programa deve perguntar em qual tipo de
produto o usuário está interessado, mostrar as opções, e depois falar qual opção o
usuário escolheu.

B) Strings

Em programação, strings e vetores são dois tipos diferentes de estruturas de


dados, mas compartilham algumas semelhanças.

Uma string é uma sequência de caracteres, como uma palavra ou uma frase, que
pode ser armazenada em uma variável ou em um vetor de caracteres. As strings são
tratadas como vetores de caracteres, onde cada elemento do vetor representa um
caractere da string.

Assim como nos vetores, cada caractere de uma string é acessado através de
um índice, começando em 0. Por exemplo, em Python, podemos acessar o terceiro
caractere de uma string chamada "hello" usando o índice 2:

s = "hello" 
print(s[2]) # saída: "l" 
 
Da mesma forma, podemos iterar sobre os caracteres de uma string usando um
loop, como um loop for:
20

s = "hello" 
print(s[0]) 
print(s[1]) 
print(s[2]) 
print(s[3]) 
print(s[4]) 
print(s[5]) 
 
Nesse caso, a saída será:
h
e
l
l
o

Apesar das semelhanças, os vetores e as strings são diferentes na medida em


que os vetores podem armazenar qualquer tipo de dado (por exemplo, inteiros, floats,
objetos, etc.), enquanto as strings armazenam apenas caracteres.

Além disso, em algumas linguagens de programação, as strings são tratadas


como tipos de dados primitivos, com funcionalidades específicas para manipulação de
strings, como concatenação, substituição e busca. Em outras linguagens, as strings são
tratadas como objetos, com métodos que podem ser chamados para manipular a string.
21

Aqui está uma tabela com alguns caracteres especiais de strings do Python:

Caractere Descrição

" ou ' Delimitador de strings

\ Usado para escapar caracteres especiais

\n Nova linha

\t Tabulação

\r Retorno do carro

\b Retrocesso

\f Avanço de página

\xhh Caractere ASCII em hexadecimal

\uhhhh Caractere Unicode em hexadecimal

\N{name} Caractere Unicode pelo seu nome

r'...' String bruta (raw), desabilita caracteres especiais

Exemplo: Mostrando quantas letras tem em uma frase

string = input("Digite uma string: ") 
tamanho = len(string) 
print("O tamanho da string é:", tamanho) 
 

Exemplo: Verificando se uma palavra está no texto

texto = "Não tenha medo de falhar e crie algo incrível." 
if “falhar” in texto: 
    print(“A palavra falhar esta presente no texto”) 
else: 
    print(“A palavra falhar não esta presente no texto”) 
print(texto[0:15], texto[15:]) 
print(texto.upper()) 
print(texto.lower()) 
print(texto.strip()) 
print(texto.replace("falhar", "fracassar"))) 
texto2 = “porque você tem o poder de aprender e crescer” 
texto3 = texto + texto2 
22

print(texto3) 
 
# o que acontecerá? 
print 3 * “Hero” 
# o que acontecerá? 
print 3 * “\nHero” 
 

Mais métodos das strings:


https://www.w3schools.com/python/python_strings_methods.asp

Exercícios

12) Escreva uma função que: ▪ receba uma frase como parâmetro. ▪ Retorne uma nova
frase com cada palavra com as letras invertidas.

13) Faça um programa que então leia uma string e a imprima e imprima o seu
comprimento.

14) Faça um programa que leia um nome e imprima as 4 primeiras letras do nome

15) Entre com um nome e imprima o nome somente se a primeira letra do nome for “a”
(maiúscula ou minúscula).

16) Faça um programa que receba do usuário uma string. O programa imprime a string
sem suas vogais.

17) Faça um programa que receba uma palavra e calcule quantas vogais e consoantes
possui essa palavra.
23

Capítulo 05
A) Comandos de Repetição

While

O while é uma estrutura de controle de fluxo em programação que permite repetir


um conjunto de instruções enquanto uma condição especificada for verdadeira.
Basicamente, ele executa um bloco de código repetidamente até que a condição de
parada seja alcançada.

A sintaxe básica do while em Python é a seguinte:

while condição: 
    código a ser repetido enquanto a condição for verdadeira 
 
Onde "condição" é uma expressão booleana que é avaliada em cada iteração do
loop. Enquanto a condição for verdadeira, o bloco de código dentro do loop será
executado. Quando a condição se torna falsa, o loop é encerrado e a execução continua
a partir do ponto após o loop.

É importante ter cuidado ao utilizar a estrutura de controle "while" para evitar


loops infinitos, onde a condição nunca se torna falsa e o programa fica preso em um loop
infinito. Para evitar isso, deve-se garantir que a condição de parada seja alcançada em
algum momento durante a execução do loop.

Exemplo: Printando de 0 a 10:

x = 0 
while x <= 10: 
    print(x) 
    x = x+1 
24

Exemplo: Melhorando o algoritmo da barra de vida do personagem

vida = 100 
while(vida_dano>0): 
    dano = int(input("Dano: ")) 
    vida = vida ‐ dano 
    if (vida >= 80): 
        print("\033[92m█"*vida) 
    elif (vida_dano > 40 and vida_dano < 80): 
        print("\033[33m█"*vida_dano) 
    elif (vida_dano <= 40): 
        print("\033[31m█"*vida_dano) 
    elif (vida_dano == 0) 
print("GAME OVER!") 

For

O "for" é uma estrutura de controle de fluxo em programação que permite iterar


sobre uma sequência de elementos (como uma lista, tupla ou string) e executar um bloco
de código para cada elemento da sequência. O "for" é uma forma mais estruturada e
eficiente de percorrer uma sequência do que usar o "while" para iterar manualmente
sobre seus elementos.

A sintaxe básica do "for" em Python é a seguinte:

for elemento in sequência: 
    código a ser executado para cada elemento da sequência 
 
Onde "elemento" é uma variável que assume o valor de cada elemento da
sequência em cada iteração do loop, e "sequência" é a sequência de elementos a ser
percorrida.

Por exemplo, para percorrer uma lista de números e imprimir cada número na
tela, pode-se usar o seguinte código:

numeros = [1, 2, 3, 4, 5] 
for numero in numeros: 
    print(numero) 

Isso irá imprimir os números 1, 2, 3, 4 e 5 na tela, um por linha.

O "for" é uma estrutura muito comum em programação, e é usada para percorrer


sequências de elementos, executar uma ação para cada elemento da sequência e
processar dados em lotes. Ele é muito útil em diversas aplicações, como processamento
de dados, análise de texto, automação de tarefas e muitas outras áreas da programação.
25

Exemplo: Imprimindo de 0 até 10, é usado o comando range

for x in range(10): 
    print (x) 
 

Exemplo: Imprime uma lista de Heróis, e fala qual é o seu favorito.

herois = [“Homem de Ferro”, “Homem Aranha”, “Batman”] 
print(“Lista de Heróis:”) 
for h in herois: 
    if h==“Homem Aranha”: 
      print(“     ‐ ”,h,”este é o meu favorito!”) 
    else: 
      print(“     ‐ ”,h) 

Exercícios

Ao resolver os exercícios abaixo, tente alternar o uso do while e do for.

1) Peça para o usuário um número e imprima uma contagem regressiva começando


deste número.

2) Faça um programa que determine e mostre os cinco primeiros múltiplos de 3,


considerando números maiores que 0.

3) Faça um programa que peça ao usuário para digitar 10 valores e some-os.

4) Escreva um programa que leia 10 números e escreva o menor valor lido e o maior
valor lido.

5) Faça um programa que leia um número inteiro ´ N e depois imprima os N primeiros


números naturais ímpares.

6) Faça um programa que calcule e mostre a soma dos 50 primeiros números pares.

7) Faça um algoritmo que leia um número positivo e imprima seus divisores. Por
exemplo: os divisores de 10 são 2 e 5.

8) Leia uma sequência de números inteiros 'n' e determine se eles são pares ou não.
Deverá ser informado o número de dados lidos e o número de valores pares. O
processo termina quando for digitado o número 1000.

9) Faça um programa que receba dois números. Calcule e mostre:


 A soma dos números pares desse intervalo de números, incluindo os números
digitados.
 A multiplicação dos números ímpares desse intervalo, incluindo os digitados;
26

10) Escreva um programa completo que permita a qualquer aluno introduzir, pelo
teclado, uma sequência arbitrária de notas (válidas no intervalo de 10 a 20) e que
mostre na tela como resultado a correspondente média aritmética. O número de
notas com que o aluno pretenda efetuar o cálculo não será fornecido ao programa,
o qual terminará quando for introduzido um valor que não seja válido como nota de
aprovação.

11) Faça um programa que simula o lançamento de dois dados, d1 e d2, n vezes, e tem
como saída o número de cada dado e a relação entre eles (> , < ou =)

12) Elabore um programa que faça a leitura de vários números inteiros, até que se digite
um número negativo. O programa deve retornar o maior e o menor número lido.

13) Faça um programa que leia um número indeterminado de idades de indivíduos


(parando quando for informada a idade 0) e calcule a idade média desse grupo.

14) Leia um número positivo do usuário e, em seguida, calcule e imprima a sequência


Fibonacci até o primeiro número superior ao número lido. Por exemplo, se o usuário
informou o número 30, a sequência a ser impressa será:
0 1 1 2 3 5 8 13 21 34

15) Faça um programa que gere um número aleatório de 1 a 1000. O usuário deve tentar
acertar qual o número foi gerado, e a cada tentativa o programa deverá informar se
o chute é menor ou maior do que o número gerado. O programa acaba quando o
usuário acerta o número gerado, e deve informar em quantas tentativas o número foi
descoberto.

16) Faça um algoritmo que converta uma velocidade expressa em km/h para m/s e vice-
versa. Você deve criar um menu com as duas opções de conversão e uma opção
para finalizar o programa. O usuário poderá fazer quantas conversões desejar, sendo
que o programa só será finalizado quando a opção de finalizar for escolhida.

17) Faça um programa que apresente um menu de opções para o cálculo das seguintes
operações entre dois números:
 adição (opção 1);
 subtração (opção 2);
 multiplicação (opção 3);
 divisão (opção 4);
 saída (opção 5).

18) O programa deve possibilitar ao usuário a escolha da operação desejada, a exibição


do resultado e a volta ao menu de opções. O programa só termina quando for
escolhida a opção de saída (opção 5).

19) Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metros
e cresce 3 centímetros por ano. Escreva um programa que calcule e imprima em
quantos anos será necessário para que Zé seja mais alto que Chico.
27

20) Um funcionário recebe aumento anual. Em 1995, foi contratado por R$2000. Em
1996, ele recebeu um aumento de 1,5%. A partir de 1997, os aumentos sempre
correspondem ao dobro do ano anterior. Faça um programa que determine o salário
atual do funcionário

21) Escreva um programa que receba como entrada o valor do saque realizado pelo
cliente de um banco e retorne quantas notas de cada valor serão necessárias para
atender ao saque com a menor quantidade de notas possível. Serão utilizadas notas
de 100, 50, 20, 10, 5, 2 e 1 real.

22) Escreva um programa que leia um número inteiro positivo ´ n e em seguida imprima
n linhas do chamado Triangulo de Floyd. Para n = 6, temos:
1
23
456
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21

23) Faça um programa que receba um número inteiro maior do que 1 e verifique se o
número fornecido é primo ou não.
28

Capítulo 06
A) Funções

Uma função é um bloco de código que executa uma tarefa específica quando é
chamado ou invocado. Ela é uma parte fundamental da estrutura de programação
modular e é usada para organizar e reutilizar o código.

Uma função geralmente recebe zero ou mais argumentos (inputs) e pode


retornar um valor (output) após a execução. Ela pode executar uma série de instruções
para realizar uma determinada tarefa, como realizar cálculos, processar dados, interagir
com o usuário, entre outras funcionalidades.

As funções permitem que os programas sejam divididos em partes menores e


mais gerenciáveis, facilitando a leitura, manutenção e reutilização do código. Além disso,
elas ajudam a evitar a repetição de código, pois uma função pode ser chamada várias
vezes de diferentes partes do programa.

Na maioria das linguagens de programação, as funções têm um nome único e


podem ser definidas pelo programador. Elas podem ser bibliotecas internas da
linguagem, bibliotecas de terceiros ou funções personalizadas criadas pelo
desenvolvedor.

Exemplo: Criar uma função que some dois números. 

def soma(a, b): 
    resultado = a + b 
    return resultado 
 
numero_1 = 2 
numero_2 = 3 
r = soma(numero_1, numero_2) 
29

print("A soma de", numero_1, "com", numero_2, "é", r) 
Exercícios 

1) Crie uma função que recebe como parâmetro um número inteiro e devolve o seu
dobro.

2) Faça uma função para verificar se um número é positivo, negativo ou 0.

3) Faça uma função que receba 3 números inteiros como parâmetro, representando
horas, minutos e segundos, e os converta em segundos.

4) Faça uma função que receba uma temperatura como float e sua escala (Celsius ou
Fahrenheit) como string e converta-a para a outra escala. A fórmula de conversão é:
F = C * (9/5) + 32, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.

5) Elabore uma função que receba três notas de um aluno como parâmetros e uma
letra. Se a letra for 'A', a função deverá calcular a média aritmética das notas do
aluno. Se for 'P', deverá calcular a média ponderada, considerando pesos 5, 3 e 2.

6) Faça uma função que receba a data atual (dia, mês e ano em formato inteiro) e a
exiba na tela no formato textual por extenso. Por exemplo, para a data 01/01/2000,
imprima: '1 de janeiro de 2000'.

7) Escreva uma função que receba um número inteiro maior do que zero e retorne a
soma de todos os seus algarismos. Por exemplo, para o número 251, a soma seria 8
(2 + 5 + 1). Se o número lido não for maior do que zero, o programa terminará com a
mensagem 'Número inválido'.

8) Faça uma função que receba dois números inteiros positivos como parâmetros e
retorne a soma dos números inteiros existentes entre eles.

9) Crie uma função que receba como parâmetro um valor inteiro e gere como saída n
linhas com pontos de exclamação, conforme o exemplo abaixo (para n = 5):
!
!!
!!!
!!!!
!!!!!

10) Escreva uma função que gera um triângulo de altura n e lados com 2n-1 caracteres
na base. Por exemplo, a saída para n = 6 seria:
*
***
*****
*******
*********
***********
30

11) Faça uma função que receba um vetor de inteiros e retorne a quantidade de valores
pares que ele possui.

12) Faça uma função que receba um número n que é int e retorne uma lista com n
números aleatórios.

13) Crie uma função que receba dois vetores e retorne duas listas, uma contendo
somente os números pares das duas listas e outras contendo os números ímpares.

14) Crie uma função que receba uma frase e retorne a frase invertida, mas as palavras
não podem estar invertidas. Exemplo:
 “Medir o progresso da programação por linhas de código é como medir o progresso
da construção de aeronaves em termos de peso.” – Bill Gates
 "Peso de termos em aeronaves de construção da progresso o medir como é código
de linhas por programação da progresso o medir." - Bill Gates

15) Um professor aplicou quatro provas, cada uma valendo 25 pontos, ao longo do ano
para 100 alunos. As notas da primeira prova foram armazenadas em um vetor
separado, assim como as notas da segunda, terceira e quarta prova. Nesse caso, as
notas do primeiro aluno estão nas posições 0 de cada vetor. Agora, deseja-se criar
uma função que receba esses quatro vetores de 100 elementos e retorne um novo
vetor contendo a palavra "aprovado" na posição 0 se a soma das notas do primeiro
aluno em todas as provas for maior que 60. Caso contrário, a palavra "reprovado"
deve ser incluída na posição 0 do vetor de retorno.

16) Escreva uma função que compare duas strings e retorne verdadeiro caso uma seja
um anagrama da outra, e falso caso contrário.

17) Faça uma função que, dado um caractere qualquer, retorne o mesmo caractere
sempre em maiúsculo.

18) Crie uma função que receba qualquer quantidade de strings, float e int e em qualquer
ordem e retorne um texto com todos estes parâmetros na ordem em foram enviados.
Por exemplo, o código:

t1 = "Em " 
n1 = 2022 
t2 = ", o país registrou um aumento de " 
n2 = 5 
t3 = "% na produção industrial, alcançando um total de " 
n3 = 3.2 
t4 = " milhões de unidades fabricadas" 
concatenando(t1, n1,t2 , n2, t3, n4, t4) 

deve retornar a string “Em 2022, o país registrou um aumento de 5% na produção


industrial, alcançando um total de 3,2 milhões de unidades fabricadas”.
31

19) Crie uma função que é escreva um parágrafo de texto em uma língua estranha. A
função deve receber a quantidade de letras que a frase deve ter. Dica: use a função
random para escolher letras aleatórias, primeira letra deve ser maiúscula, defina um
tamanho máximo para as palavras, coloque vogais depois das consoantes. Exemplo:
“Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Etiam sit amet luctus ex. Donec
sit amet mattis quam, at interdum nunc. Fusce
diam mauris, imperdiet ac augue eget,
vestibulum rhoncus augue.”

B) Recursão

Recursão é um conceito importante na programação que se refere à capacidade


de uma função chamar a si mesma durante a sua execução. Em outras palavras, uma
função recursiva é uma função que se autoinvoca para resolver um problema de forma
incremental, reduzindo-o a casos menores e mais simples até atingir um caso base.

Ao usar recursão, um problema complexo pode ser dividido em problemas


menores, semelhantes ao original, mas com dimensões reduzidas. Cada chamada
recursiva é responsável por resolver uma parte menor do problema, e as soluções
parciais são combinadas para obter a solução final.

Uma função recursiva geralmente tem duas partes principais:

Caso Base: É a condição de parada que define quando a recursão deve terminar.
Quando a condição do caso base é atingida, a função recursiva para de chamar a si
mesma e retorna um resultado.

Caso Recursivo: É a parte em que a função se chama novamente com um


problema menor, levando-o gradualmente ao caso base. Essa chamada recursiva ocorre
até que o caso base seja alcançado.
32

A recursão é comumente usada para resolver problemas que exibem uma


estrutura recursiva ou que podem ser divididos em subproblemas idênticos ou
semelhantes. Alguns exemplos de algoritmos que fazem uso da recursão são cálculos
de fatorial, busca em árvores e algoritmos de ordenação, como o quicksort e o
mergesort.

No entanto, é importante ter cuidado ao usar a recursão, pois ela pode levar a um
consumo excessivo de memória ou a um loop infinito se não for implementada
corretamente. Além disso, em alguns casos, pode ser mais eficiente usar uma
abordagem iterativa em vez de recursiva.

Exemplo: Somando todos os números até 10:

?a fazer?

Exercícios

20) Crie uma função recursiva que receba um número inteiro positivo N e calcule a soma
dos números de 1 a N.

21) Faça uma função recursiva que receba um número inteiro positivo N e imprima todos
os números naturais de 0 até N em ordem decrescente.

22) A multiplicação de dois números inteiros pode ser feita através de somas
sucessivas. Proponha um algoritmo recursivo, chamado MultipRec(n1, n2), que
calcule a multiplicação de dois inteiros.

23) Faça uma função recursiva que calcule e retorne o fatorial de um número inteiro N.

24) Crie uma função recursiva que receba dois inteiros positivos k e n e calcule k^n.

25) Faça uma função recursiva que calcule e retorne o N-ésimo termo da sequência
Fibonacci. Alguns números desta sequência são: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...

26) Faça uma função recursiva que receba um número inteiro positivo N e imprima todos
os números naturais de 0 até N em ordem decrescente.

27) Dado um número n na base decimal, escreva uma função recursiva que converta este
número para binário.

28) Faça uma função recursiva que receba um o valor do troco que deve ser dado e
depois fale a quantidades de moedas e notas que devem ser dadas no troco.
33

Capítulo 07

A) Exceções

B) Manipulação de arquivos
XXX
34

Capítulo 08

A) Matrizes
XXX
35

Capítulo 09

B) Programação orientada a objetos


XXX
36

Capítulo 10

C) Interface gráfica
37
38

Capítulo 11

D) Exercícios da OBI Dia 1


XXX
39

Capítulo 12

E) Exercícios da OBI Dia 2


XXX
40

Capítulo 13
F) Trabalho de Conclusão de Curso (TCC)

Agora chegou a hora de usar os conhecimentos adquiridos para construir seu


primeiro aplicativo.

Estes são alguns exemplos de projetos que podem ser realizados:

 Criação de um jogo simples em Python, como jogo da velha ou adivinhação;


 Implementação de um programa de conversão de unidades, como conversor de
temperatura ou conversor de moedas;
 Desenvolvimento de um programa de agenda telefônica utilizando Python;
 Construção de um programa de cálculo de média de notas de estudantes;
 Construção de um programa de cálculo de IMC (Índice de Massa Corporal);
 Criação de um programa de geração de senhas seguras;
 Construção de um programa de previsão do tempo simples;
 Desenvolvimento de um sistema de votação eletrônica em Python;
 Criação de um programa de criptografia e descriptografia de mensagens;
 Desenvolvimento de um sistema de agendamento de consultas médicas;
 Desenvolvimento de um sistema de cadastro e login de usuários;
 Construção de um programa de gerenciamento de notas e frequência escolar.

Você também pode gostar