2019 03 08 MC102KLMN Aula03
2019 03 08 MC102KLMN Aula03
de Computadores
Escrita, Leitura, Expressões e
Operadores Aritméticos, Conversão de Tipos
2
A Função print()
3
Escrevendo na Tela: print()
● Para imprimir um texto, utilizamos o comando print().
● O texto pode ser um literal do tipo string.
>>> a = 10
>>> print(“A variável contém o valor”, a)
A variável contém o valor 10
5
Escrevendo o Conteúdo de uma Variável 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
6
Escrevendo o Conteúdo de uma Variável na Tela
● Podemos converter todos os valores em strings 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
7
Formatos Ponto Flutuante
● Podemos especificar o número de casas decimais que deve ser
impresso em um número ponto flutuante usando %.Nf, onde N
especifica o número de casas decimais.
>>> pi = 3.1415
>>> r = 7
>>> area = pi * r * r
>>> print(“Área do círculo de raio %.2f ” %r + “é: %.2f” %area)
Área do círculo de raio 7.00 é: 153.93
>>> print(“Área do círculo de raio ” + str(r) + “é: ” + str(area))
Área do círculo de raio 7 é: 153.9335
8
Imprimindo sem Pula 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().
9
A Função input()
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
uma variável.
● Todos os dados lidos são do tipo string.
11
A Função input()
● Podemos converter uma string lida do teclado em um número inteiro
usando a função int().
12
A Função input()
● Podemos fazer o mesmo para números ponto flutuante usando a
função float().
13
A Função input()
● Nos dois exemplos anteriores é esperado que o usuário digite um
número.
● Se o usuário digitar um texto não númerico o programa encerrará
com um erro de execução.
15
Expressões
Expressões
● Já vimos que constantes e variáveis são expressões.
17
Expressões Aritméticas
● Os operadores aritméticos são: +, -, *, /, //, %, **
>>> 30 + 5
35
>>> 30 - 5
25
>> 30 * 5
150
18
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
19
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
20
Expressões Aritméticas
● Resto da Divisão: expressão % expressão
○ Calcula o resto da divisão inteira de duas expressões.
9 4 Dividendo Divisor
Resto Quociente
1 2
Dividendo = Divisor * Quociente + Resto
21
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
22
Expressões Aritméticas
● Exemplo: Converter segundos em horas, minutos e segundos.
○ 87426 segundos = horas, minutos e segundos?
>>> segundos_str = input(“Por favor, digite o número de segundos que deseja converter: ”)
>>> total_segundos = int(segundos_str)
>>> horas = total_segundos // 3600
>>> segundos_restantes = total_segundos % 3600
>>> minutos = segundos_restantes // 60
>>> segundos_restantes_final = segundos_restantes % 60
>>> print(“Horas =”, horas, “minutos =”, minutos, “segundos =” , segundos_restantes_final)
23
Expressões
● As expressões aritméticas (e todas as expressões) operam sobre
outras expressões.
● É possível compor expressões complexas como por exemplo
a = b * ( (2 / c) + (9 % d * 8) )
>>> 5 + 10 % 3
6
>>> 5 * 10 % 3
2
24
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
25
Precedência
● Operadores com a mesma precedência são executados da esquerda
para a direita.
○ 6-3+2 é igual a ?
■ Esquerda para direita: 6-3 é igual a 3, 3+2 é igual a 5
■ Direita para esquerda: 3+2 é igual a 5, 6-5 é igual a 1
27
Conversão de Tipos
Conversão de Tipos
● Já vimos o uso das funções int(), float() e str() que servem para
converter dados de um tipo no outro especificado pela função.
● A conversão só ocorre se o dado estiver bem formado. Por exemplo
int(“aaa”) resulta em um erro.
● Ao convertermos um número float para int ocorre um truncamento, ou
seja, toda parte fracionária é desconsiderada.
29
Conversão de Tipos
>>> a = “ola”
>>> int(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ’ola’
>>> int(2.99)
2
>>> int(-2.99)
-2
>>> float(“3.1415”)
3.1415
30
Exercícios
● https://panda.ime.usp.br/pensepy/static/pensepy/02-Conceitos/conceitos.html#exercicios
31
Referências
● O slides dessa aula foram baseados no material de MC102 do Prof.
Eduardo Xavier (IC/Unicamp)
32