Você está na página 1de 11

Programação em Python 3ª sessão

07.outubro..2021

- A SINTAXE -
Formador José Calado

Objetivos da sessão
● Funções - Métodos
● Módulos
● Estruturas Compostas
○ Tuplas

Recursos necessários para a sessão

Software
● Python Editor: https://www.python.org/downloads/
● PyCharm: LINK

Documentos
● (Este guião)

Plataformas / Páginas Web


● Plataforma Moodle da Formação (Sessão): LINK

Bibliografia Suplementar
https://www.w3schools.com/python/default.asp

José Calado
jose.calado@anpri.pt 1 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

Funções
Uma função é uma sequência de instruções com nome que realizam uma
computação.
Já tínhamos feito chamadas a funções. Onde???!
>>> type(32)
<class ‘int’>
O nome da função foi type, o argumento foi 32.
Habitualmente podemos afirmar que uma função recebe um argumento e
devolve um resultado.
Exemplo

def media(a, b):


return (a + b)/2.0

print(media(3, 2))

Podemos então ter um resultado, da nossa primeira função. Agora vamos


dividir o nosso programa, para ser mais fácil trabalhar com arquivos mais
pequenos, ou a possibilidade de utilizar este programa com outros
programas.

José Calado
jose.calado@anpri.pt 2 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

ATENÇÃO!!!!

As definições de funções são semelhantes às que já conhecemos, somente


o efeito e que é diferente: criamos funções!
As instruções dentro de uma função só são executadas quando a função é
invocada.
Uma função tem de ser definida antes de ser invocada.

Exemplo (continuação)

media.py

def media(a, b):


return (a + b)/2.0

executaMedia.py

from media import media

n1=float(input("Insira o primeiro valor:"))


n2=float(input("Insira o segundo valor:"))

print(media(n1, n2))

José Calado
jose.calado@anpri.pt 3 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

ATIVIDADE 1 - EXERCÍCIOS

1. Crie uma função Compara, que peça dois números ao utilizador, e compare qual o
maior dos números inseridos. Caso sejam iguais, essa mensagem também deverá
surgir. Execute no ficheiro testeCompara.py
2. Crie uma função Par_Impar, que verifique se o número inserido é par ou ímpar.
Execute no ficheiro testePar_Impar.py

Opção: Fazer os exercícios acima descritos em apenas dois ficheiros, um com as funções e
outro para testar. Podem chamar ao ficheiro atividade1.py e executaAtividade1.py 💪💪

Módulos

À medida que as funcionalidades de um programa aumentam, a sua


complexidade também, mas de forma a que o programa não fique longo, é
importante repartir em vários blocos, e deixar que a própria linguagem se
encarregue de agrupar durante a execução. Tudo isto se tornará mais
simples de trabalhar, deixando a linguagem de se encarregar de o agrupar
durante a execução.
Em Python eles são chamados de módulos e são geralmente usados
para expandir as capacidades da linguagem, carregar funcionalidades e,
claro, também permitir que seu programa possa ser segmentado em
unidades menores de código.

José Calado
jose.calado@anpri.pt 4 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

Um módulo é um "ficheiro" que contém um conjunto de funções


relacionadas.

VAMOS IMPORTAR E UTILIZAR O MÓDULO MATH e RANDOM.

ATIVIDADE 2 - EXERCÍCIOS

1. Realize um programa utilizando a biblioteca MATH e pedindo o valor do RAIO, que


permita calcular:
a. O Perímetro da Circunferência (P = 2*Pi x R)
b. A área da Circunferência (A = PixR^2)
c. O Volume da Esfera (V =(4xPixR^3)/3 )
2. Todos os números positivos que sejam divisíveis por 10 e menores que n. Exemplo,
se n, for 100, então os números a apresentar seriam 10, 20, 30, 40, 50, 60, 70, 80,
90.
3. Crie um jogo que gere um nº aleatório entre 0 e 10 peça ao utilizador que pense num
número entre o mesmo intervalo. O programa, à medida que o utilizador vai inserindo
valores, vão sendo guardadas as tentativas. Quando o utilizador acertar no número,
deverá surgir “Acertou!!” e em quantas tentativas foi.
4. Altere o programa nº3, aumentando o intervalo entre 0 e 100, mas desta vez, vá
dando dicas ao utilizador, se o nº inserido por ele é: (“Mais Alto” ou “Mais Baixo”) do
que o gerado. Quando o utilizador acertar no número, deverá surgir “Acertou!!” e em
quantas tentativas foi.

José Calado
jose.calado@anpri.pt 5 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

Estruturas Compostas

Quando pretendemos guardar pequenas quantidades de informação,


utilizamos variáveis. Informação essa, que serve sobretudo para executar
pequenas instruções (pequenas quantidades de informação).

Quando definimos uma variável, como por exemplo:

Carro = “Volante” -> guardamos esta String dentro da nossa variável

No entanto, se quisermos continuar a inserir valores associados a esta


mesma variável Carro, o que irá acontecer? O valor guardado
anteriormente, é perdido.

Carro = “Pneus” -> este passa a ser o valor actual/novo da variável

Para podermos gravar mais do que um conteúdo e associar à mesma


variável, iremos utilizar as TUPLAS.

Tuplas

Tupla é um tipo de estrutura de dados utilizada em Python que

funciona de modo semelhante a uma lista, entretanto, com a característica


principal de ser inalterável/permanente. Isso significa que quando uma tupla
é criada não é possível adicionar, alterar ou remover seus elementos.
Geralmente, ela é utilizada para adicionar tipos diferentes de informações,
porém, com a quantidade de elementos definidos.

É uma sequência de valores. Os valores podem ser de qualquer tipo e são


indexados por inteiros.

José Calado
jose.calado@anpri.pt 6 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

Exemplo

>>> t = 'a', 'b', 'c', 'd', 'e'

>>> t = ('a', 'b', 'c', 'd', 'e')

>>> t1 = ('a')

>>> type(t1)

<type 'str'>

>>> t2 = 'a',

>>> type(t2)

<type 'tuple'>

>>> t = tuple()

>>> print(t)

()

>>> t = tuple('hello')

>>> print(t)

('h', 'e', 'l', 'l', 'o')

>>> t[0] --------Devolve o primeiro valor da tupla

‘h’

>>> t[-1] --------Devolve o último valor da tupla

José Calado
jose.calado@anpri.pt 7 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

‘o’

>>> t[-5]

‘h’

>>> t[1:3]

('e', 'l')

>>>t[1:]

('e', 'l', 'l', 'o')

>>> t1 = ('H',) + t[1:]

>>> t1 = ('H',) + t[1:]

>>> t[0] = 'H'

TypeError: 'tuple' object does not support item assignment

(NOTA: Não conseguimos atribuir valores à TUPLA, sem ser no início quando
a criação da Tupla)

Outros comandos nas Tuplas

>>>print(len(t)) #Devolve o tamanho da Tupla

>>> for x in t: #Estrutura de repetição FOR, que apresenta o conteúdo da tupla

print(x)

José Calado
jose.calado@anpri.pt 8 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

>>> for x in range(0,3): ou >>>for x in range(0, len(t)):

print(x) ou print(t[x]) 😱😱
NOTA: Perceberam a diferença????!? 💪💪
Exemplo (Troca de Valores)

Considere que se pretende trocar os valores entre as variáveis a e b. Uma


hipótese seria:

>>> temp = a

>>> a = b

>>> b = temp

Mais simples:

>>> a, b = b, a

------------------------------------------------------------------------

Outros Comandos

Ordenar

>>> print (sorted(t))

Concatenar Tuplas

>>> a= (1,2,3)

>>> b= (4,5,6)

>>> c = a + b

José Calado
jose.calado@anpri.pt 9 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

>>> print(c)

(1,2,3,4,5,6)

Conta quantas vezes aparece um elemento

>>> print(c.count(4))

Apagar Tuplas

>>> del(c[2])

TypeError: ‘tuple’ doesn’t not suport item deletion

>>> del(c)

Este funciona!!! Apaga a tupla

ATIVIDADE 3 - EXERCÍCIOS

1. Crie um programa, que dada uma Tupla de nomes d@s alun@s, apresente a
seguinte informação:
a. Peça ao utilizador o nº, e devolva o nome d@ alun@
2. Proceda às alterações necessárias de modo a que o programa apresente a seguinte
informação:
a. Os 3 primeiros alunos da lista
b. Os últimos 4 da lista
c. Apresente os alunos por ordem alfabética
d. Indique o nº de um determinado aluno

José Calado
jose.calado@anpri.pt 10 de 11 ANPRI - MOODLE
Programação em Python 3ª sessão
07.outubro..2021

3. Crie um programa que faça gerar uma Tupla de 5 números aleatórios.


a. Apresente os números gerados.
b. Indique o maior e menor número gerado na Tupla

José Calado
jose.calado@anpri.pt 11 de 11 ANPRI - MOODLE

Você também pode gostar