Welcome to Tech Support Forum home to more then 136,000 problems solved. Issues have included: Spyware, Malware, Virus Issues, Windows, Microsoft, Linux, Networking, Security, Hardware, and Gaming Getting your problem solved is as easy as:
1. Registering for a free account
2. Asking your question
3. Receiving an answer

Registered members:
* Get free support
* Communicate privately with other members (PM).
* Removal of this message
* See fewer ads.
* And much more..

 



Want to know how to post a question? click here Having problems with spyware and pop-ups? First Steps
Go Back   Tech Support Forum > The IT Pro > Programming
User Name
Password
Site Map Register Donate Rules Blogs Mark Forums Read


Programming A discussion forum for programs and programming used in tech-related businesses.

Reply
 
LinkBack Thread Tools
Old 05-10-2007, 06:45 AM   #1 (permalink)
Registered User
 
Join Date: May 2007
Posts: 2
OS: Windows XP Pro


Angry Python 2.5 Help

Hey, i got this code to work out whether or not it is a leap year, i defined it in a module.

def leapyear(year):
ret = 0
if(year % 1000):
ret = 1
elif(year % 400):
ret = 1
elif(year % 4):
ret = 1
if (ret == 1):
isleapyear = "Yes it is a leap year"
elif (ret == 0):
isleapyear = "No it is not a leap year"
return isleapyear

Now when i run it, inputting 4 as the year var makes it say correctly it is a leap year, as does 8,12,16 etc etc.

However, when i input 1000 or something around there, it says it is NOT a leap year. Anyone know why?

Cheers
woody2371 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!
Reply With Quote
Important Information
Join the #1 Tech Support Forum Today - It's Totally Free!

TechSupportForum.com is a leading support website for your computer needs. We offer free, friendly and personalized computer support. Why pay to have your computer fixed when you can do it for free.

Join TechSupportforum.com Today - Click Here

Old 05-12-2007, 04:11 AM   #2 (permalink)
Roaming To Help
 
Join Date: Nov 2006
Posts: 5,642
OS: Many


I don't know much of Python, but a friend I visited was using this script for what you're wanting to do:

Code:
def isLeapYear (year):
    result = year % 4
    if result > 0:
        print "It is NOT a leap year"
    else:
        print "It IS a leap year"

        result = (year * 100) % 4
        if result >0:
            print "It is NOT a leap year"

isLeapYear(400)
isLeapYear(800)
isLeapYear(1600)
isLeapYear(1601)
isLeapYear(2004)
isLeapYear(2012)
isLeapYear(3010)
isLeapYear(3330)
I know it had initial problems with calculating figures over a few centuries so she later had to tweak it more. It worked well, but IDK if it was for Python 2.4, earlier or 2.5.1, sorry.

Maybe it will be of some help.
Kalim is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!
Reply With Quote
Old 05-12-2007, 09:53 AM   #3 (permalink)
Mentor, Analyst - Security Team
 
Deckard's Avatar
 
Join Date: May 2006
Location: Oregon
Posts: 2,503
OS: MacOS X, Debian, OpenBSD, Windows


Re: Python 2.5 Help

I believe the leap year formula for the Gregorian calendar (post-1582) is:

Quote:
Originally Posted by http://en.wikipedia.org/wiki/Leap_year#Leap_year_algorithms
if year modulo 400 is 0 then leap
else if year modulo 100 is 0 then no_leap
else if year modulo 4 is 0 then leap
else no_leap
Before 1582, you'd use the Julian calendar.
__________________
The chance to begin again in a golden land of opportunity and adventure.

Need HijackThis help? Please read MicroBell's Five Step Process before posting.
Please donate and help keep this site free to all.


UNITE/ASAP: Proud member since 2006
Deckard is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




All times are GMT -7. The time now is 11:45 PM.



Copyright 2001 - 2009, Tech Support Forum
Home Tips Plus | Outdoor Basecamp | Automotive Support Forum

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85