elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] - Los años no perdonan.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] - Los años no perdonan.  (Leído 3,189 veces)
Meta


Desconectado Desconectado

Mensajes: 3.441



Ver Perfil WWW
[Python] - Los años no perdonan.
« en: 25 Noviembre 2010, 08:46 am »

Muy buenas:

Ejercicio 276...

La verdad no entiendo muy bien lo de los años bisiestos en Python. Parece una función muy compleja y larga de hacer. Parece duro este ejercicio. ¿Eh?

Un abrazo.


« Última modificación: 25 Noviembre 2010, 09:04 am por Meta » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] - Los años no perdonan.
« Respuesta #1 en: 25 Noviembre 2010, 11:21 am »

En realidad no tiene ninguna dificulta, otra vez el problema esta en la lectura y la comprensión del ejercicio.

Condiciones:
Si año divisible por 4 y no por 100, Bisiesto.
Si año divisible por 4, divisible por 100 y divisible por 400, Bisiesto.

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Meta


Desconectado Desconectado

Mensajes: 3.441



Ver Perfil WWW
Re: [Python] - Los años no perdonan.
« Respuesta #2 en: 25 Noviembre 2010, 22:47 pm »

Código
  1. year = int(raw_input('Introduce el año en  cifras: '))
  2.  
  3. if (year % 4) or (not year % 100):
  4.    print 'El año', year, 'es bisiesto.'
  5.  
  6. if (year % 4) and (year % 100) and (year % 400):
  7.    print 'El año', year, 'es biciesto.'
  8. else:
  9.    print year, 'año no bisiesto.'

Me falta algo por pulir que no me sale como quiero. jejejeje.
En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: [Python] - Los años no perdonan.
« Respuesta #3 en: 25 Noviembre 2010, 23:24 pm »

Código
  1. def days(y): return 366 if not y%4 and y%100 or not y%400 else 365

un poco menos natural:

Código
  1. def days(y): return 365 if (y%4 or not y%100) and y%400 else 366
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: [Python] - Los años no perdonan.
« Respuesta #4 en: 25 Noviembre 2010, 23:28 pm »

Código
  1. def Bisiesto(sAnyo):
  2.    return sAnyo % 4 == 0 and sAnyo % 400 == 0 or sAnyo % 100 != 0
En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
Meta


Desconectado Desconectado

Mensajes: 3.441



Ver Perfil WWW
Re: [Python] - Los años no perdonan.
« Respuesta #5 en: 26 Noviembre 2010, 00:24 am »

Código
  1. def Bisiesto(sAnyo):
  2.    return sAnyo % 4 == 0 and sAnyo % 400 == 0 or sAnyo % 100 != 0

Del 2010 al 2015 más otros años siempre es bisiesto cuando en realidad son cada  años. No parace funcionar.

Código
  1. def days(y): return 366 if not y%4 and y%100 or not y%400 else 365
/quote]

Este funciona mejor.

¿Pueden hacer que en su salida en pantalla muestre...

...Año 2010 es bisiesto?

...Año 5555 no es bisiesto?
En línea

Meta


Desconectado Desconectado

Mensajes: 3.441



Ver Perfil WWW
Re: [Python] - Los años no perdonan.
« Respuesta #6 en: 26 Noviembre 2010, 11:52 am »

Hola de nuevo:

Ahora lo hice de esta menera.

Código
  1. year = int(raw_input('Introduce el año en  cifras: '))
  2.  
  3. # Función.
  4. def el_ano_es_bisiesto(year):
  5.    return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
  6.  
  7. # Muestra información pantalla.
  8. if (el_ano_es_bisiesto(year) == True):
  9.    print 'El año', year, 'es bisiesto.'
  10. else:
  11.    print 'El año', year, 'no es bisiesto.'

No estoy del todo convencido de que sea así.

Saludo.
En línea

pirob

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: [Python] - Los años no perdonan.
« Respuesta #7 en: 2 Diciembre 2010, 17:09 pm »

Saludos a todos,
aprovecho para presentarme, jejeje.
Soy pirob y desde hace un tiempo estoy prendiendo python por mi cuenta. Encontré este foro en el que hay mucha información al respecto y nada, aquí me tenéis  :P

Bueno, respecto al código he hecho esto:
Código
  1. # By pirob - 2/12/2010
  2.  
  3. def bisiesto():
  4.  
  5.  year = int(raw_input("Introducelo: "))
  6.  
  7.  if year % 4 == 0:
  8.    if year % 100 != 0:
  9.      print "%d es bisiesto." % year
  10.  
  11.    else:
  12.      if year % 400 == 0:
  13. print "%d es bisiesto" % year
  14.      else:
  15. print "%d no es bisiesto." % year
  16.  
  17.  else:
  18.    print "%d no es bisiesto." %year
  19.  
  20.  return year
  21.  
  22. bisiesto()
  23.  

A mí me funciona bien, pero es cuestión de que lo probéis  :rolleyes:
 
« Última modificación: 2 Diciembre 2010, 17:48 pm por pirob » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Curso de Python con Interfaces graficas TK « 1 2 »
Scripting
Erik# 18 38,654 Último mensaje 12 Septiembre 2010, 02:27 am
por Dreykon
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Scripting
Erik# 4 14,830 Último mensaje 4 Abril 2013, 16:43 pm
por SelTzeR
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 15,624 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
[Python] Abrir una página web con comandos de Python. « 1 2 3 4 »
Scripting
CaronteGold 31 39,714 Último mensaje 29 Mayo 2015, 15:02 pm
por antkk
[python]VideoTraining Aprende A Programar En Python desde 0 « 1 2 3 »
Scripting
juh 22 17,505 Último mensaje 16 Octubre 2010, 13:12 pm
por Pere Navarro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines