01.
def
hang88():
02.
print
'Vamos jogar!'
03.
jogar
=
True
04.
while
jogar:
05.
hang87()
06.
mais
=
raw_input(
'Jogar mais? [S/N]: '
)
07.
if
mais
=
=
'N'
:
08.
print
'Adeus, até à vista...'
09.
jogar
=
False
Como se pode ver não alterámos o nosso programa principal. Apenas definimos um programa envolvente (os ingleses chamam-lhe wrapper). Claro que esta solução é muito simplista, e pressupõe que tudo o que não for N significa que se quer continuar a jogar. Mas podemos melhorar a solução.
01.
def
hang88b():
02.
print
'Vamos jogar!'
03.
jogar
=
True
04.
while
jogar:
05.
jogar
=
continuar(jogar)
06.
07.
def
continuar(jogar):
08.
mais
=
raw_input(
'mais? [S/N]: '
)
09.
while
mais
not
in
[
'S'
,
'N'
,
's'
,
'n'
,
'sim'
,
'não'
]:
10.
mais
=
raw_input(
'A resposta tem que ser [S/N]. A sua resposta: '
)
11.
if
mais
in
[
'N'
,
'n'
,
'não'
]:
12.
print
'Adeus, até à vista...'
13.
jogar
=
False
14.
return
jogar
Deixamos ao leitor a tarefa de fazer à sua maneira. A moral desta solução era apenas a de que não foi preciso alterar o nosso programa principal.
Ao longo da vida de um programador a tarefa mais comum é ter que manter um programa, seja devido a erros seja devido a alterações na especificação. Quanto melhor tiver sido construído o nosso programa, mais fácil serão estas tarefas!
Sem comentários:
Enviar um comentário