Pesquisar no Python Iniciantes

segunda-feira, 6 de agosto de 2012

Exercícios #34 (Estrutura de Decisão)

Boa noite galera!

O 18° exercício diz assim:

“Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida."

Vamos ao código após a explicação:

# -*- coding: latin-1 -*- def validaData(dia, mes, ano): if dia > 0 and dia <= 31: if mes > 0 and mes <= 12: mostraData (str(dia), str(mes), str(ano)) else: print('O mes: %s é inválido.' % (mes)) else: print('O dia: %s é inválido.' % (dia)) def mostraData(dia, mes, ano): data = ('%s,%s,%s') % (dia, mes, ano) print(data.replace(',', '/')) dia = int(input('Digite o dia: ')) mes = int(input('Digite o mes: ')) ano = int(input('Digite o ano: ')) validaData(dia, mes, ano)
Como podemos na primeira linha de código declaramos uma função validaData que vai receber como parâmetro o dia, mes, e ano digitados pelo usuário esse parâmetros vão ser enviados como números inteiros para podermos fazer as verificações, dentro da função temos o primeiro if que verifica se o dia é entre 1 e 31 após o segundo if que verifica se o mes esta entre 1 e 12 caso as duas verificações forem verdades chamamos uma outra função mostraData e enviamos para ela os mesmos parâmetros enviados para a função validaData mas com uma diferença que é a conversão do tipo inteiro para string que facilita na hora de "printar" na tela o formato da data: dd/mm/aaaa, mas se uma das verificações do if da função validaData for falsa "printamos" na tela onde o erro ocorreu se foi no mes, ou no dia. Passando para próxima função mostraData, como já dito se na função anterior validaData ocorrer conforme codificado a função mostraData recebe dia, mes e ano e os armazena em data sem nenhuma formatação apenas dia,mes,ano, poderíamos ja ter posto a formatação assim %s//%s//%s que não precisaríamos da próxima linha do código mas eu quero mostrar a vocês um novo método que está descrito no print logo a seguir; no print(data.replace(',','/')) nós simplesmente mostramos na tela a data formatada trocando(replace) a formatação que está em data que é dia','mes','ano(as virgulas) pelas (barras) ficando assim dia/mes/ano, acabando as funções nós declaramos as variáveis que vão receber dia, mes e ano como inteiros e instanciamos a função validaData com os respectivos valores das variáveis e começamos o ciclo como explicado no começo.

É isso pessoal, gostaram? se tiverem dúvidas postem aqui ou mandem email, até a próxima.

1 comentários: