Introdução
Aprender computação e linguagens de programação, a primeira vista, pode ser algo assustador. Porém, conforme mergulhamos neste mundo, essa visão pode mudar para algo apaixonante e muito divertido. Neste curso, com conhecimentos prévios de lógica de programação, aprenderemos uma forma criativa de solucionar problemas cotidianos com uma linguagem simples e muito eficiente: Python.
Python é uma linguagem conhecida por ser extremamente simples e fácil de aprender. Ainda assim, é uma linguagem muito poderosa que pode ser aplicada em vários contextos tecnológicos como Inteligência Artificial e Computação Gráfica. Neste minicurso aprenderemos os conceitos básicos desta linguagem.
Seja bem-vinda e esperamos que você aproveite o minicurso! Meninas do Projeto ++C&TpM
Autora Lara Tenore
Revisão Erika Yahata, Thais Ribeiro
Date Junho, 2018
Coordenadora Mirtha Lina Fernández Venero
Índice
Tipos de dados 5
Operadores aritméticos 5
Operadores relacionais 6
Operadores lógicos 7
Entrada e saída de dados 7
Condicional simples 9
Condicional composta 10
Range 13
Estrutura de repetição: for 13
Variáveis acumuladoras 14
Break 14
Tipos de dados:
Os tipos de dados em Python são os representados na tabela abaixo. Esses tipos são atribuídos pela linguagem a cada variável criada.
Pseudocódigo Python
Inteiro Int (inteiro)
Real Double, float, long (reais)
Caractere String (caracteres)
--- Booleanos
Apesar de esses tipos serem bem definidos, em Python não é necessário definir
o tipo de cada variável como fazíamos com pseudocódigo. Assim, não existe o passo
de criação de variáveis no algoritmo. Por um lado, isso é positivo por termos facilidade
de criar variáveis sem pré-definir seus tipos. Porém, é importante ter muita atenção no
tipo implicitamente atribuído para cada variável para evitar erros com operações incompatíveis (ex: "abc"/2)
Operadores aritméticos:
Os operadores aritméticos em Python, apresentados na tabela abaixo, são muito
parecidos com os operadores que usamos no nosso cotidiano com a matemática.
Esses operadores podem ser aplicados em qualquer tipo numérico da linguagem.
Operador Operação
+ Adição
- Subtração
/ Divisão
** Potenciação
% Módulo
Estes operadores são usados principalmente para operações usando números.
Porém, o operador de adição pode ser usado para concatenar dois caracteres ou duas
strings. Assim, "Olá" + "mundo" resulta em "Olá mundo".
O operador (%) chamado de módulo é usado para encontrar o resto de uma
divisão de um inteiro com outro inteiro. (ex: 7 % 3 = 1). O operador (**) de potenciação
é usado para cálculo de potência de uma base por um expoente. Assim, o número
posicionado à esquerda do operador representa a base e o número à direita, a
potência. (ex: 3 ** 2 = 9). Operadores relacionais:
Operadores relacionais em Python, apresentados na tabela abaixo, podem ser usados para comparar números.
Operador Exemplo
== (igual) 1 == 1 → True
!= (diferente) 1 != 2 → True
< (menor que) 4 < 3 → False
> (maior que) 5 > 2 → True
<= (menor ou igual) 1 <= 1 → True
Operadores lógicos:
Os operadores lógicos em Python, apresentados na tabela abaixo, podem ser usados para comparar duas expressões que podem atribuir valores booleanos (True ou False).
Operador Exemplo
and True and True = True
or False or True = True
not not True = False
Entrada e saída de dados:
Os operadores de entrada e saída de dados em Python são os apresentados
respectivamente na tabela abaixo.
Pseudocódigo Python
leia (variável) variável = input( )
escreva (variável) print (variável)
Exercícios:
1 – Identifique os tipos de variáveis com os tipos definidos em Python : a) Nome de pessoa b) Idade c) Nome do cachorro d) Bairro e) Cidade f) Cep
g) Telefone
h) Soma de 2 números i) Nome da mãe
2- Pensando no seu facebook, como você adicionaria seus amigos no seu perfil? Crie
um algoritmo em Python que recebe o nome de 3 amigos, de onde você conhece cada
um deles, o dia e o mês que esse amigo faz aniversário (considere o mês como um
número).
3 - Escreva um algoritmo que solicite o preço de 3 produtos e mostre a soma.
4 - Escreva um algoritmo que solicite um verbo e então, deve ser mostrado na tela
"Você é capaz de " concatenado do verbo que foi escrito, e seguido do ponto de
interrogação.
5– Escreva um algoritmo para cadastrar e imprimir na tela os dados de uma disciplina
Estruturas de controle condicional
Estruturas de controle condicional são usadas em programas para tomadas de decisões. Essas decisões são tomadas com base em condições, ou seja, sempre que
uma condição for verdadeira, uma sequência de instruções é executada. Em Python
trabalhamos com condicionais simples e compostas. Condicional simples:
● A condicional simples é dada apenas pela estrutura if:
if condição:
instruções Exemplo:
x = int(input("Qual é a sua idade?")) if x >= 18:
print("Você já pode dirigir") print("Fim do programa")
Vale ressaltar que em Python é muito importante manter o código organizado
com suas devidas indentações. Após a linha da cláusula if usa-se um espaçamento
(tab) para que o programa entenda que as próximas instruções devem ocorrer apenas
se a condição for satisfeita. Assim, a frase "Você já pode dirigir" só será impressa na
tela se a idade for maior ou igual a 18 anos porque está no bloco dentro do if. Por outro
lado, a frase "Fim do programa") será impressa todas as vezes em que o programa for
Condicional composta:
● A condicional composta em Python é dada pelas estruturas if / elif / else
if condição: instruções elif condição: instruções else: instruções Exemplo:
x = int(input("Qual é a sua idade?")) if x >= 18:
print("Você já pode dirigir e já pode votar") elif x < 18 and x >= 16:
print("Você ainda não pode dirigir mas já pode votar") else:
print("Você ainda não pode dirigir e nem votar")
No exemplo dado acima, as cláusulas if e elif apenas são executadas se suas
condições forem verdadeiras (elif só é executado se if não tiver sua condição
verdadeira). A cláusula else é executada sempre que todas as cláusulas anteriores não
foram executadas. Assim, para qualquer idade que não seja maior ou igual a 18 anos
ou entre 16 e 18 anos, o programa imprimirá na tela a frase "Você ainda não pode
Exercícios:
1) Vamos programar uma máquina de doces!
Crie um algoritmo que:
a. Mostre para o cliente a lista de doces e seus números: (use "\n" para pular linha)
FINI 34 R$ 5,00 Chokito 80 R$ 3,00 Sonho de valsa 57 R$ 1,50 Pão de mel 22 R$ 6,00 Diamante Negro 75 R$ 2,50 Laka 90 R$ 3,50
b. Quando o cliente escolher o doce pelo nome, você pede para ele confirmar pelo
nome do doce.
c. Se o cliente confirmar, você apresenta o preço do doce e pede a forma de
pagamento (cartão ou dinheiro). Se o cliente negar o doce apresentado, o programa
acaba.
d. Quando o cliente escolher a forma de pagamento, a máquina apresenta uma
mensagem de sucesso na compra.
2) Você foi contratada para criar uma máquina de pagamento de estacionamento para
um shopping. Para se organizar, você decide primeiro fazer a parte do programa que
define se a pessoa ainda está na tolerância de tempo (e não precisa pagar nada). Crie
um programa que apresenta uma mensagem pedindo para inserir o cartão e então
recebe o tempo em que o carro do cliente está estacionado. Se o tempo for menor que
3) Continuando com o nosso caixa de estacionamento, agora temos que indicar o valor
que o cliente precisa pagar de acordo com a tabela:
Até 15 minutos R$ 0,00 (cortesia)
Até 1 hora R$ 9,00
Até 3 horas R$ 12,00
Até 5 horas R$ 15,00
Acima de 5 horas R$ 17,00
Por fim, precisamos pedir para o cliente indicar qual vai ser a forma de pagamento.
● Se o cliente selecionar dinheiro, informamos que só aceitamos notas de 5, 10 e
20 reais;
● Se o cliente selecionar cartão, devemos perguntar se o pagamento será no
crédito ou no débito.
Estruturas de repetição (for)
Em vários momentos da nossa vida, fazemos ações repetidas que dependem de
uma condição para parar. Por exemplo, quando estamos com fome e vamos comer, só
paramos de comer quando a condição "estar sem fome" for verdadeira.
Em Python, esta condição pode ser tratada como um range de números
(representando o número de vezes que uma ação irá se repetir). Range:
● Range é uma função em Python que permite que tenhamos um intervalo de
números sem que tenhamos que escrever todos eles. Exemplo: range(1, 10) = 1, 2, 3, 4, 5, 6, 7, 8, 9
Range funciona como um contador que soma 1 do primeiro valor até um numero
anterior ao segundo valor.
O primeiro número representa o número de partida. Se este número for omitido,
o Python assume que este número é zero.
Exemplo: range(10) = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Das formas apresentadas acima, a linguagem sempre assume que o passo a
ser tomado é de valor 1. Para definir o passo, acrescentamos mais um valor no range.
Assim, um range de -1 a 9 com passo 2 é dado por: range(-1,10,2) = -1, 1, 3, 5, 7, 9
Estrutura de repetição (for):
● Na estrutura for usamos a função range e uma variável qualquer que percorrerá
cada valor do range. Esta variável não precisa estar definida previamente.
for variável in range(x,y):
Exemplo:
for i in range(10):
print(i)
O programa acima deve imprimir os 10 primeiros valores a partir do 0, pois a
cada iteração do laço i receberá um valor do range de 0 a 9 e este será impresso. Variável acumuladora:
● Quando usamos estruturas de repetição é muito comum usarmos também
variáveis acumuladoras, que são variáveis que têm seus valores incrementados a cada iteração do laço.
Exemplo: soma = 0
for i in range(10): soma += i print(soma)
Neste exemplo, a variável acumuladora é a variável soma pois somamos i a ela
a cada iteração do laço. Break:
O break é uma função usada para quebrar o loop em que se encontra, ou seja,
para parar a execução do laço. Quando o algoritmo encontrar o "break", ele para o loop
Exemplo:
for i in range(10): if i > 5:
break print(i)
Assim, programa imprimirá os valores de 0 a 5 pois quando i = 6, a condição do
if será satisfeita e o loop será parado pelo break.
Exercícios:
1) Você está criando um aplicativo para auxiliar pessoas na hora de fazer compras
no mercado. Neste aplicativo a pessoa pode inserir o número de produtos que
está comprando e depois o nome de cada produto e o valor. No final, apresente
para a pessoa a soma total da compra.
2) Ainda pensando no aplicativo, crie um algoritmo em Python em que a pessoa
não precise inserir o número de produtos que está comprando. Considere que o
algoritmo consegue armazenar no máximo 1000 produtos.
Dica: você precisa perguntar para o usuário se ele deseja continuar ou se deseja
fechar a compra.
Desafio:
Crie um algoritmo em Python que você poderá usar para calcular o seu CR ao
longo da graduação.
Dica: O cálculo do CR é feito da seguinte forma:
Estruturas de repetição (while)
Na aula anterior vimos a estrutura de repetição for que pode depender de um
range de números. Em Python existe uma segunda estrutura de repetição chamada while. Diferente do for, esta estrutura pode ser controlada por uma variável.
While:
while condição: instruções
● O while é uma estrutura que precisa, necessariamente, de uma variável
acumuladora dentro dele para que o laço tenha um fim e não seja infinito. Exemplo: n = 2 while n > 0 : print(n) n = n - 1 print("Finalizou")
No exemplo acima, o laço rodará para os valores de n iguais a 2 e 1. Se não
houvesse a linha "n = n - 1", n teria para sempre o valor 2 que é sempre maior que zero,
ou seja, o laço não terminaria e o programa nunca imprimiria a palavra "Finalizou".
Chamamos isso de loop infinito. Exercícios:
1) O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, com cerca
de 10 caixas. Para agilizar o cálculo de quanto cada cliente deve pagar ele
desenvolveu uma tabela que contém o número de itens que o cliente comprou e
contar quantos itens o cliente está levando e olhar na tabela de preços. Você foi
contratada para desenvolver o programa que monta esta tabela de preços, que
conterá os preços de 1 até 50 produtos, conforme o exemplo abaixo:
Unidades Valor
1 R$1,99
2 R$3,98
... ...
2) O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99
e agora possui uma loja de conveniências. Faça um programa que implemente
uma caixa registradora rudimentar. O programa deverá receber um número
desconhecido de valores referentes aos preços das mercadorias. Um valor zero
deve ser informado pelo operador para indicar o final da compra. O programa
deve então mostrar o total da compra e perguntar o valor em dinheiro que o
cliente forneceu, para então calcular e mostrar o valor do troco. Após esta
operação, o programa deverá voltar ao ponto inicial, para registrar a próxima
compra. A saída deve ser conforme o exemplo abaixo:
Lojas Tabajara Produto 1: R$ 2.20 Produto 2: R$ 5.80 Produto 3: R$ 0 Total: R$ 8.00 Dinheiro: R$ 20.00 Troco: R$ 12.00 …
3) Escreva um algoritmo em Python que será utilizado para obter informações de 8
candidatos, exibir a média de idade dos candidatos, quantidade de candidatos e
Dicas:
1 – Solicite que seja informado o nome, idade, sexo e se tem experiência 2 – Exiba a média da idade dos candidatos
3 – Exiba o total de candidatos e o total de candidatas 4 – Exiba quantos tem experiência
4) Crie um programa que lê as idades e alturas de alguns alunos. A condição de
parada é a altura = 0. Em seguida, o programa deve informar quantos alunos
com mais de 13 anos possuem altura inferior à 1.5.
5) O Departamento Estadual de Meteorologia te contratou para desenvolver um
programa que leia um conjunto de 10 temperaturas, e informe ao final a menor e