codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
# -*- coding: utf-8 -*- while True: data = raw_input("Digite uma data com o seguinte formato dd/mm/aaaa: ") if "/" not in data: print("A data precisa estar nesse formato dd/mm/aaaa");continue try: data = eval(data.replace("/", ",")) except: continue if data[0] > 31 and data[1] > 12 or data[0] < 0 and data[1] < 0: print("Data totalmente inválida");continue if data[0] > 31 or data[0] < 0: print("Dia Inválido");continue if data[1] > 12 or data[1] < 0: print("Mês Inválido");continue if data[2] < 0: print("Non ita vetus sodalis.");continue elif data[2] % 400 == 0 or data[2] % 4 == 0 and data[2] % 100 != 0: print("Data Válida - É bissexto");break elif data[2] % 100 == 0 and data[2] % 400 != 0: print("Data Inválida - Não é bissexto");break # Linha 2 - Laço de repetição criado # # Linha 3 - Recebe a data passada pelo usuário # # Linha 4 - Checa se o caractere "/" não está na variável data, se não estiver uma mensagem é mostrada na tela e #o programa é reiniciado/voltado pro loop inicial. # # Linha 5 - Nesta linha é usado o eval, usei ele para transformar cada item da data(dia, mês, ano) em um item de #uma tupla, mas antes disso foi preciso usar o replace pra substituir o caractere de "/" por uma virgula. # # Linha 6 - Se ocorrer algum erro na conversão do eval o loop será reiniciado. # # Linha 7 - Se o primeiro item da tupla for maior que 31(dia) e o segundo item(mês) for maior que 12 ou se o #primeiro item for menor que zero e o segundo menor que zero também uma mensagem será mostrada avisando que a data #está inválida, logo depois o continue é acionado e o loop vai repetir o processo até que o usuário digite uma data válida. # # Linha 8 - Se o primeiro item da variável data (dia) for maior que 31 ou se for menor que zero uma mensagem será #mostrada na tela sinalizando que o dia está inválido e o programa será reiniciado. # # Linha 9 - Se o segundo item da variável data (mês) for maior que 12 ou se for menor que zero uma mensagem será mostrada na #tela sinalizando que o mês está inválido e o programa será reiniciado. # # Linha 10 - Se o último item (ano) da variável data for menor que zero será mostrada uma mensagem e o programa será reiniciado. # # Linha 11 - Seguindo um método pra calcular se o número é primo é mostrada uma mensagem caso ele seja. # # Linha 12 - Seguindo um método pra calcular se o número é primo é mostrada uma mensagem caso ele não seja.
Private
[
?
]
Run code
Submit