Os problemas da ficha 4 sobre condicionais são, em geral, muito acessíveis. Este não foge à regra.
1.
def
nota_iprp(nexame, teste,projecto):
2.
"""Determina a nota de iprp. Exame vale 60%, teste, vale 20% e projecto 20%.
3.
Asume que os valores introduzidos estão correctos."""
4.
nota
=
0.6
*
exame
+
0.2
*
(teste
+
projecto)
5.
if
nota <
9.5
:
6.
return
0
7.
else
:
8.
return
1
Problema 4.4
Este problema não tem solução única. Uma ideia a ter em conta pode ser o de minimizar o número de testes a efectuar.
01.
def
maior_3(n1,n2,n3):
02.
""" Determina o maior dos três números."""
03.
if
n1 > n2:
04.
if
n1 > n3:
05.
return
n1
06.
else
:
07.
return
n3
08.
else
:
09.
if
n2 > n3:
10.
return
n2
11.
else
:
12.
return
n3
Claro que estas abordagens não são escaláveis. Imaginem se eram 100 números!! Veremos com a introdução dos ciclos que existe uma resposta a esta questão que não depende do número de números. Mas, se conhece bem Python, já sabe que também podia deixar o problema nas mãos das funções pré-definidas:
1.
>>> max(
1
,
6
,
3
,
9
,
34
,
98
,
4
)
2.
98
3.
>>>
Problema 4.6
E agora a questão da fruta. Nada como ter um bom desconto...
1.
def
custo_fruta(peso, preco, peso_minimo):
2.
""" Qual o custo da fruta?."""
3.
a_mais
=
peso
-
peso_minimo
4.
if
a_mais >
0
:
5.
custo
=
peso_minimo
*
preco
+
a_mais
*
0.75
*
preco
6.
else
:
7.
custo
=
peso
*
preco
8.
return
custo
Das aulas resultou que a maior dificuldade sentida foi a de entender o enunciado. Têm que se habituar a interpretar correctamente o texto que descreve o problema a resolver.
Sem comentários:
Enviar um comentário