O objetivo desta aula é experimentar a definição de funções simples. Após a realização da prática, deverá ter sido adquirida uma noção básica dos seguintes conceitos e elementos:
return
+
, -
, *
, /
, //
, %
, **
int()
, float()
==
(igual), !=
(diferente), <
, >
, <=
, >=
not
(negação), and
(conjunção), or
(disjunção)Desenvolva uma função para cada um dos objectivos apresentados nas alíneas seguintes. Todas as funções podem ser definidas apenas com a instrução de retorno (return ...
). Para cada função escreva expressões para as testar, utilizando argumentos para abranger as diferentes possibilidades de resultados (p.e. verdadeiro/falso, arredondamento por excesso/defeito).
A definição desta função é muito semelhante ao exemplo dado inicialmente.
Exemplo: 2 num total de 8 corresponde a 25%.
O valor de percentagem deverá ser devolvido num número real (float) no intervalo [0.0, 1.0].
def percentage(n, total):
...
Note que a média entre dois inteiros não é necessariamente um inteiro, pelo que o tipo de retorno deverá ser decimal (float).
Nesta função é necessário aplicar a truncagem (converter um decimal para inteiro, descartando a parte decimal).
Exemplos:
rounded(4.3) => 4
rounded(4.7) => 5
O valor devolvido pela função deverá indicar se o número passado como argumento é ou não negativo, mediante um valor booleano (bool, que assume apenas os valores True ou False).
Exemplos:
is_negative(-2) => True
is_negative(3) => False
def is_negative(n):
...
Nesta função é necessário combinar duas condições lógicas (conjunção).
Exemplos:
is_included(5, 4, 9) => True (5 está incluído em [4, 9])
is_included(5, 6, 9) => False (5 não está incluído em [6, 9])
Experimente uma solução baseada numa disjunção lógica e uma solução alternativa baseada numa negação da condição utilizada na alínea anterior.
Exemplos:
is_excluded(4, 4, 9) => False (4 não está excluído de [4, 9])
is_excluded(4, 5, 9) => True (4 está excluído de [5, 9])
Exemplos:
xor(True, False) => True
xor(False, True) => True
xor(True, True) => False
xor(False, False) => False
Exemplos:
is_vowel('a') => True
is_vowel('z') => False