def hang88():
print 'Vamos jogar!'
jogar = True
while jogar:
hang87()
mais= raw_input('Jogar mais? [S/N]: ')
if mais == 'N':
print 'Adeus, até à vista...'
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.
def hang88b():
print 'Vamos jogar!'
jogar = True
while jogar:
jogar = continuar(jogar)
def continuar(jogar):
mais = raw_input('mais? [S/N]: ')
while mais not in ['S','N', 's','n','sim','não']:
mais = raw_input('A resposta tem que ser [S/N]. A sua resposta: ')
if mais in ['N','n','não']:
print 'Adeus, até à vista...'
jogar = False
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