• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

6600LIVE

Dúvida num problema com dicionários...

4 mensagens neste tópico

Boas pessoal!

Tou aqui com uma questão que nao consigo resolver. Se me conseguissem ajudar rapidamente, ficava muito agradecido...

O problema é o seguinte, há um dicionário que faz corresponder os dias da semana:

dias_semana={1:"Domingo",2:"Segunda-Feira",3:"Terça-feira",4:"Quarta-feira",5:"Quinta-feira",6:"Sexta-feira",7:"Sabado"}

outro, numero ao mes:

meses_ano={1:"Janeiro",2:"Fevereiro",3:"Março",4:"Abril",5:"Maio",6:"Junho",7:"Julho",8:"Agosto",9:"Setembro",10:"Outubro",11:"Novembro",12:"Dezembro"}

E aquilo que eu queria fazer era um programa que ao introduzir "7/14/11/2009" o resultado fosse "Sabado, 14 de Novembro de 2009"..

Ando aqui às voltas mas não ta facil xD

Obrigado, mais uma vez!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vai aqui uma das soluções possiveis...uma mais básica.

# -*- coding: utf-8 -*-

dias_semana={1:"Domingo",2:"Segunda-Feira",3:"Terça-feira",4:"Quarta-feira",5:"Quinta-feira",6:"Sexta-feira",7:"Sabado"}

meses_ano={1:"Janeiro",2:"Fevereiro",3:"Março",4:"Abril",5:"Maio",6:"Junho",7:"Julho",8:"Agosto",9:"Setembro",10:"Outubro",11:"Novembro",12:"Dezembro"}


n = raw_input("exemplo: ")

lista = n.split('/') #funcao split pega numa string e separa em substrings quando encontra o argumento em questão, neste caso "/"

#Se imprimires lista, irá retornar por exemplo ['7','14','11',2009']

dia_sem = dias_semana[int(lista[0])] #atenção ao "int"....na lista temos strings...e nos dicionários inteiros. logo temos que converter
mes = meses_ano[int(lista[2])]

print dia_sem + ",",lista[1],"de",mes,"de",lista[3]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tbm da pra fazer assim

semana = {1:"Domingo", 2:"Segunda", 3:"Terca", 4:"Quarta", 5:"Quinta", 6:"Sexta", 7:"Sabado"}
mes = {1:"Janeiro", 2:"Fevereiro", 3:"Marco", 4:"Abril", 5:"Maio", 6:"Junho", 7:"Julho", 8:"Agosto", 9:"Setembro", 10:"Outubro", 11:"Novembro", 12:"Dezembro"}

n = raw_input("data: ")

dat = n.split('/')

print semana.get(int(dat[0])), dat[1], mes.get(int(dat[2])), "de", dat[3]

simples :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado...

A parte que realmente mais ajuda e me faltava era o split('/')....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora