Você está na página 1de 47

LINGUAGEM DE

PROGRAMAÇÃO
(PYTHON)
Prof Silvano Oliveira
prof.silvano.oliveira@gmail.com
Roteiro
■ Saída de dados: print()
■ Entrada de dados: input()
■ Expressões e Operadores Aritméticos
■ Conversão de Tipos
■ Expressões relacionais
■ Expressões lógicas
■ Comandos condicionais

Prof Silvano Oliveira (Linguagem Python) 2


Escrevendo na Tela: print()
■ Para imprimir um texto na tela, utilizamos o comando print().
■ O texto pode ser um objeto do tipo string.

>>> print("De novo isso?")


De novo isso?
• No meio da string pode-se incluir caracteres de formatação especiais.
• O símbolo especial \n é responsável por pular uma linha na saída.
>>> print("De novo isso? \n Olá Pessoal!")
De novo isso?
Olá Pessoal!
Prof Silvano Oliveira (Linguagem Python) 3
Escrevendo o Conteúdo de um Objeto na Tela
■ Podemos imprimir, além do conteúdo de objetos do tipo string,
o conteúdo de outros tipos de objetos utilizando o comando
print().
■ Também podemos separar múltiplos objetos a serem impressos
com uma vírgula.

>>> print("O segundo parâmetro é um objeto do tipo <int> com o valor ", 10)
O segundo parâmetro é um objeto do tipo <int> com o valor 10

Prof Silvano Oliveira (Linguagem Python) 4


Escrevendo o Conteúdo de um Objeto na Tela
■ Quando o parâmetro do comando print for uma variável, o
conteúdo do objeto que é apontado (referenciado) pela variável
será impresso.

>>> msg = "A variável a aponta para um objeto do tipo int com valor = "
>>> a = 10
>>> print(msg,a)
A variável a aponta para um objeto do tipo int com valor = 10

Prof Silvano Oliveira (Linguagem Python) 5


Escrevendo o Conteúdo de um Objeto na Tela
■ Quando o parâmetro do comando print for uma variável, o
conteúdo do objeto que é apontado (referenciado) pela
variável será impresso.

>>> a = 10
>>> print("O tipo do objeto é ", type(a), " e seu valor é ", a)

O que será escrito na tela ?


Prof Silvano Oliveira (Linguagem Python) 6
Escrevendo o Conteúdo de um Objeto na Tela
■ Quando o parâmetro do comando print for uma variável, o
conteúdo do objeto que é apontado (referenciado) pela variável
será impresso.

>>> a = 10
>>> print("O tipo do objeto é ", type(a), " e seu valor é ", a)
O tipo do objeto é <class 'int'> e seu valor é 10

Prof Silvano Oliveira (Linguagem Python) 7


Escrevendo o Conteúdo de um Objeto na Tela
■ A impressão com múltiplos argumentos inclui um espaço extra
entre cada argumento.

>>> a = 10
>>> b = 3.14
>>> print("a contém o valor", a, "e b contém o valor", b)
a contém o valor 10 e b contém o valor 3.14
>>> print("a contém o valor ", a, " e b contém o valor ", b)
a contém o valor 10 e b contém o valor 3.14

Prof Silvano Oliveira (Linguagem Python) 8


Escrevendo o Conteúdo de um Objeto na Tela
■ Podemos usar o comando str() para converter todos os objetos
em objetos do tipo string e usar o operador + para concatenar
strings de forma a imprimir sem estes espaços:

>>> a = 10
>>> b = 3.14
>>> print("a contém o valor" + str(a) + "e b contém o valor" + str(b))
a contém o valor10e b contém o valor3.14
>>> print("a contém o valor " + str(a) + " e b contém o valor " + str(b))
a contém o valor 10 e b contém o valor 3.14

Prof Silvano Oliveira (Linguagem Python) 9


Imprimindo sem Pular Linha
■ A função print() sempre pula uma linha ao final da impressão.
■ Se você não quiser que pule uma linha, inclua o argumento end=“”
no print().

>>> print("3, ", end="")


>>> print("4, ", end="")
>>> print("5 ", end="")

>>> print("3, ",end="");print("4, ",end="");print("5 ",end="")


3, 4, 5

Prof Silvano Oliveira (Linguagem Python) 10


A Função input()
■ Realiza a leitura de dados a partir do teclado.
■ Aguarda que o usuário digite um valor e atribui o valor digitado a um
objeto na memória.
■ Todos os dados lidos são do tipo string.
>>> print("Digite um número: ")
>>> numero = input()
>>> print("O número digitado é: " + numero)

OU
>>> numero = input("Digite um número: ")
>>> print("O número digitado é: " + numero)

Prof Silvano Oliveira (Linguagem Python) 11


A Função input()
■ Podemos converter uma string lida do teclado em um número
inteiro usando a função int().

>>> numero = int(input(“Digite um número: “))


>>> numero = numero * 10
>>> print(“O número digitado vezes 10 é: “, numero)

Prof Silvano Oliveira (Linguagem Python) 12


A Função input()
■ Podemos fazer o mesmo para números ponto flutuante usando a
função float().

>>> numero = float(input(“Digite um número: “))


>>> numero = numero * 10
>>> print(“O número digitado vezes 10 é “, numero)

Prof Silvano Oliveira (Linguagem Python) 13


Expressões
■ Já vimos que constantes e variáveis são expressões.
■ Uma expressão também pode ser um conjunto de operações
aritméticas, lógicas ou relacionais utilizadas para fazer “cálculos“
sobre os valores dos objetos.
– Exemplo: a + b

Prof Silvano Oliveira (Linguagem Python) 14


Expressões Aritméticas
■ Os operadores aritméticos são: +, -, *, /, //, %, **
■ Adição: expressão + expressão
■ Subtração: expressão - expressão
■ Multiplicação: expressão * expressão

>>> 30 + 5
35
>>> 30 - 5
25
>> 30 * 5
150
Prof Silvano Oliveira (Linguagem Python) 15
Expressões Aritméticas
■ Divisão: expressão / expressão
– O resultado é sempre um número ponto flutuante.
■ Divisão: expressão // expressão
– Se os operandos forem inteiros, a divisão é inteira. Se um
deles for ponto flutuante faz uma divisão truncada.

>>> 5 / 2
2.5
>>> 5 // 2
2
>>> 5 // 2.0
2.0
Prof Silvano Oliveira (Linguagem Python) 16
Expressões Aritméticas
■ Exponenciação (potenciação): expressão ** expressão
– Calcula o valor da expressão à esquerda elevado ao valor da
expressão à direita.
– an = a × a × a × … × a (n vezes)

>>> 2 ** 4
16
>>> 2.2 ** 4
23.425600000000006

Prof Silvano Oliveira (Linguagem Python) 17


Expressões Aritméticas
■ Resto da Divisão: expressão % expressão
– Calcula o resto da divisão inteira de duas expressões.

Prof Silvano Oliveira (Linguagem Python) 18


Expressões Aritméticas
■ Resto da Divisão: expressão % expressão
– Calcula o resto da divisão inteira de duas expressões.

>>> 5 % 2
1
>>> 9 % 7
2
>>> 2 % 5
2
>>> 4 % 2
0

Prof Silvano Oliveira (Linguagem Python) 19


Precedência
■ Precedência é a ordem na qual os operadores serão avaliados
quando o programa for executado.
■ Em Python, os operadores são avaliados na seguinte ordem:
1. **
2. *, /, //, na ordem em aparecerem na expressão
3. %
4. +, -, na ordem em aparecerem na expressão
■ Exemplo: 8 + 10 * 6 é igual a 68

Prof Silvano Oliveira (Linguagem Python) 20


Alterando a Precedência
■ (expressão) também é uma expressão, que calcula o resultado
da expressão dentro dos parênteses, para só então calcular o
resultado das outras expressões.
– 5 + 10 % 3 é igual a 6
– (5 + 10) % 3 é igual a 0
■ Você pode usar quantos parênteses desejar dentro de uma
expressão.
■ Use sempre parênteses em expressões para deixar claro em qual
ordem a expressão é avaliada!

Prof Silvano Oliveira (Linguagem Python) 21


Conversão de Tipos
■ Já vimos o uso das funções int(), >>> a = "ola"
float() e str() que servem para >>> int(a)
Traceback (most recent call last):
converter dados de um tipo no File "<stdin>", line 1, in <module>
outro especificado pela função. ValueError: invalid literal for int() with base 10: ’ola’
>>> int(2.99)
■ Ao convertermos um número 2
float para int ocorre um >>> int(-2.99)
truncamento, ou seja, toda parte -2
fracionária é desconsiderada. >>> float("3.1415")
3.1415

Prof Silvano Oliveira (Linguagem Python) 22


Expressões Relacionais
Tipo bool
■ Em Python o tipo bool especifica os valores booleanos falso
(False) e verdadeiro (True).
■ Podemos criar variáveis associadas a booleanos, mas o uso mais
comum é na verificação de resultados de expressões relacionais e
lógicas.

>>> a = True
>>> type(a)
<class ‘bool’>

Prof Silvano Oliveira (Linguagem Python) 23


Expressões Relacionais
■ Expressões relacionais são aquelas que realizam uma
comparação entre duas expressões e retornam
– False, se o resultado é falso.
– True, se o resultado é verdadeiro.

Os operadores relacionais da linguagem Python são:

== igualdade < menor que


!= diferente >= maior ou igual que
> maior que <= menor ou igual que
Prof Silvano Oliveira (Linguagem Python) 24
Expressões Relacionais (Exemplo)
■ expressão == expressão : Retorna verdadeiro quando os valores
resultantes da avaliação das expressões forem iguais.

>>> 9 == 9
True
>>> 9 == 10
False

• Uma expressão booleana é uma expressão que produz como resultado um valor
booleano
• Expressões relacionais produzem um resultado booleano, logo, são
expressões booleanas
Prof Silvano Oliveira (Linguagem Python) 25
Exercício
■ Quais das seguintes opções são expressões booleanas?
a. True
b. 3 == 4
c. 3 + 4
d. 3 + 4 == 7
e. “False”

Prof Silvano Oliveira (Linguagem Python) 26


Exercício
■ Quais das seguintes opções são expressões booleanas?
a. True >>> True # sim, é uma expressão booleana
b. 3 == 4 True
>>> 3 == 4 # sim, é uma expressão booleana
c. 3 + 4 False
d. 3 + 4 == 7 >>> 3 + 4 # não é uma expressão booleana
7
e. “False” >>> 3 + 4 == 7 # sim, é uma expressão booleana
True
>>> “False” # não é uma expressão booleana
‘False’

Prof Silvano Oliveira (Linguagem Python) 27


Exercício
>>> a = 3
>>> b = 4
>>> c = a < b # c recebe o valor da comparação a < b
3<4?
>>> d = a > b # d recebe o valor da comparação a > b
3>4?
>>> e = a == b # e recebe o valor da comparação a == b
3 == 4 ?

Prof Silvano Oliveira (Linguagem Python) 28


Exercício
>>> a = 3
>>> b = 4
>>> c = a < b # c recebe o valor da comparação a < b
3 < 4 ? True
>>> d = a > b # d recebe o valor da comparação a > b
3 > 4 ? False
>>> e = a == b # e recebe o valor da comparação a == b
3 == 4 ? False

Prof Silvano Oliveira (Linguagem Python) 29


Expressões Lógicas
■ Expressões lógicas são aquelas que realizam uma operação
lógica (ou, e, não, etc...) e retornam True ou False (como as
expressões relacionais).
■ Na linguagem Python temos os seguintes operadores lógicos:
– and : operador E
– or: operador OU
– not: operador NÃO

Prof Silvano Oliveira (Linguagem Python) 30


Expressões Lógicas
■ expressão and expressão : Retorna verdadeiro quando
ambas as expressões são verdadeiras. Sua tabela verdade é:

Op1 Op2 Op1 and Op2 Qual o resultado da expressão


lógica abaixo?
V V V
V F F >>> a = 0
>>> b = 0
F V F >>> ( a == 0 and b == 0 )
F F F

Prof Silvano Oliveira (Linguagem Python) 31


Expressões Lógicas
■ expressão and expressão : Retorna verdadeiro quando
ambas as expressões são verdadeiras. Sua tabela verdade é:

Op1 Op2 Op1 and Op2 Qual o resultado da expressão


lógica abaixo?
V V V
V F F >>> a = 0
>>> b = 0
F V F >>> ( a == 0 and b == 0 )
F F F True

Prof Silvano Oliveira (Linguagem Python) 32


Expressões Lógicas
■ expressão or expressão : Retorna verdadeiro quando pelo
menos uma das expressões é verdadeira. Sua tabela verdade
é:

Op1 Op2 Op1 or Op2 Qual o resultado da expressão


lógica abaixo?
V V V
V F V >>> a = 0
>>> b = 1
F V V >>> ( a == 0 or b == 0 )
F F F

Prof Silvano Oliveira (Linguagem Python) 33


Expressões Lógicas
■ expressão or expressão : Retorna verdadeiro quando pelo
menos uma das expressões é verdadeira. Sua tabela verdade
é:

Op1 Op2 Op1 or Op2 Qual o resultado da expressão


lógica abaixo?
V V V
V F V >>> a = 0
>>> b = 1
F V V >>> ( a == 0 or b == 0 )
F F F True

Prof Silvano Oliveira (Linguagem Python) 34


Expressões Lógicas
■ not expressão : Retorna verdadeiro quando a expressão é
falsa e vice-versa. Sua tabela verdade é:

Op1 not Op1 Qual o resultado da expressão


lógica abaixo?
V F
F V >>> a = 0
>>> b = 1
>>> not ( a != b )

Prof Silvano Oliveira (Linguagem Python) 35


Expressões Lógicas
■ not expressão : Retorna verdadeiro quando a expressão é
falsa e vice-versa. Sua tabela verdade é:

Op1 not Op1 Qual o resultado da expressão


lógica abaixo?
V F
F V >>> a = 0
>>> b = 1
>>> not ( a != b )
False

Prof Silvano Oliveira (Linguagem Python) 36


Exercício
■ O que será impresso pelos comandos?

>>> print( 8 > 9 and 10 != 2 )

>>> print( 14 > 100 or 2 > 1)

>>> print( not(14 > 100) and not(1 > 2 ))

Prof Silvano Oliveira (Linguagem Python) 37


Exercício
■ O que será impresso pelos comandos?

>>> print( 8 > 9 and 10 != 2 )


False
>>> print( 14 > 100 or 2 > 1)
True
>>> print( not(14 > 100) and not( 1 > 2 ))
True

Prof Silvano Oliveira (Linguagem Python) 38


COMANDOS CONDICIONAIS

VERDADEIRO FALSO

Prof Silvano Oliveira (Linguagem Python) 39


Blocos de Comandos
■ É um conjunto de instruções agrupadas.
■ Os comandos agrupados do bloco devem estar indentados
dentro de um comando anterior seguido de dois pontos.
■ A indentação é feita em geral com 2 espaços em branco (ou
quantos você quiser) antes de cada comando que deve estar
dentro do bloco.

Prof Silvano Oliveira (Linguagem Python) 40


Blocos de Comandos
■ O principal comando condicional é o if, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão for verdadeira
■ Os comandos são executados somente se a expressão
relacional/lógica for verdadeira.

# Informa se o número é par.


numero = int(input(“Digite um número: “))
if ((numero % 2) == 0):
print("O número digitado é par.")
Prof Silvano Oliveira (Linguagem Python) 41
Comandos Condicionais
■ Uma variação do comando if é o if/else, cuja sintaxe é:
if expressão relacional ou lógica:
comandos executados se a expressão for verdadeira
else:
comandos executados se a expressão for falsa

# Informa se o número é par ou ímpar.


numero = int(input(“Digite um número: “))
if ((numero % 2) == 0):
print("O número digitado é par.")
else:
print("O número digitado é ímpar.")
Prof Silvano Oliveira (Linguagem Python) 42
Exemplo
# Determina o menor de dois números.
num1 = int(input("Digite o 1o número:"))
num2 = int(input("Digite o 2o número:"))
if (num1 < num2):
print("O menor número é:", num1)
else:
print("O menor número é:", num2)

Prof Silvano Oliveira (Linguagem Python) 43


Exercício
■ Usando apenas operadores relacionais e aritméticos, vamos
escrever um programa que lê um número e verifica em qual dos
seguintes casos o número se enquadra:
– Par e menor que 100
– Par e maior ou igual a 100
– Ímpar e menor que 100
– Ímpar e maior ou igual a 100

Prof Silvano Oliveira (Linguagem Python) 44


Exercício (Resposta)
num = int(input("Digite um número:"))
if ((num % 2) == 0):
if (num < 100):
print("O número é par e menor que 100")
else:
print("O número é par e maior ou igual a 100")
else:
if (num < 100):
print("O número é ímpar e menor que 100")
else:
print("O número é ímpar e maior ou igual a 100")

Prof Silvano Oliveira (Linguagem Python) 45


Exercício (Resposta 2)
num = int(input("Digite um número:"))
if ((num % 2) == 0) and (num < 100):
print("O número é par e menor que 100")
if ((num % 2) == 0) and (num >= 100):
print("O número é par e maior ou igual a 100")
if ((num % 2) != 0) and (num < 100):
print("O número é ímpar e menor que 100")
if ((num % 2) != 0) and (num >= 100):
print("O número é ímpar e maior ou igual a 100")

Prof Silvano Oliveira (Linguagem Python) 46


ATÉ A PRÓXIMA

Prof Silvano Oliveira (Linguagem Python) 47

Você também pode gostar