01.
def
engarrafa_a(litros):
02.
return
"Com "
+
str(litros)
+
" litros pode encher "
\
03.
+
str(int(litros
/
1.5
))
+
" garrafas, restando "
+
str(litros
%
1.5
)
+
" litros"
04.
05.
def
engarrafa_b(litros):
06.
return
"Com %d litros pode encher %.0f garrafas, restando %.2f litros"
%
(litros,int(litros
/
1.5
), litros
%
1.5
)
07.
08.
def
engarrafa_c(litros):
09.
garrafas
=
int(litros
/
1.5
)
10.
resto
=
litros
%
1.5
11.
return
"Com %d litros pode encher %.0f garrafas, restando %.2f litros"
%
(litros,garrafas,resto)
12.
13.
def
engarrafa_d(litros):
14.
garrafas
=
int(litros
/
1.5
)
15.
resto
=
litros
%
1.5
16.
return
"Com {0} litros pode encher {1:.0f} garrafas, restando {2:.2f} litros"
.format(litros,garrafas,resto)
A solução a é a clássica, quando não se sabe muito sobre formatação de cadeias de caracteres. Usa a operação de concatenação (+), e obriga a muitas conversões de tipos decididas explicitamente pelo programador. A segunda, b, já avança um bom bocado, precisamente porque usa o operador de formatação %. Note-se que no interior da cadeia o sinal % é um sinal de formatação. Na alternativa c, limitamo-nos a tornar o código mais legível introduzindo as duas variáveis locais garrafas e resto. Finalmente, a solução d é a mais moderna do ponto de vista de Python, socorrendo-se do método format. Esta possibilidade existe a partir da versão 2.6 de Python e deve ser a preferida.
Sem comentários:
Enviar um comentário