## Find leap years assignment

A garbage value is being sent to the function instead of the actual parameter. What's the problem with my code?

def find_leap_years(given_year): i=0 count=0 while(count<15): print(given_year) if(given_year%4==0)and(given_year%400==0): if(given_year%100!=0): list_of_leap_years[i]=given_year i+=1 count+=1 given_year+=1 return list_of_leap_years list_of_leap_years=find_leap_years(2000) print(list_of_leap_years)

There are a couple of overlapping errors here, and the one is making the other harder to find.

The leap-year test has an error in it. It should be

`if given_year % 4 == 0: if given_year % 100 != 0 or given_year % 400 == 0:`

. That is, a year is a leap year if it is divisible by 4; but not if it is divisible by 100, unless it is also divisible by 400. The result of this error is that your original`if`

-test is only`True`

every 400th year and so the loop will run until it has tested 6,000 years. I suspect you were interrupting the program before this happened, so you didn't see the problem inside the`if`

-test.This won't work:

`list_of_leap_years[i] = given_year`

. If your code had ever reached that point you would have got the error`list assignment index out of range`

. That is because you can't extend a list simply by assigning elements that aren't there. If you want to add new values to the end of a list, use`append`

:`list_of_leap_years.append(given_year)`

.The function returns

`list_of_leap_years`

but doesn't define it. The function should start by creating it as an empty list.

Fixing these problems, the function will look like this:

def find_leap_years(given_year): list_of_leap_years = [] count=0 while count < 15: if given_year % 4 == 0: if given_year % 100 != 0 or given_year % 400 == 0: list_of_leap_years.append(given_year) count += 1 given_year += 1 return list_of_leap_years

I've taken out the list index `i`

because you don't need it to keep track of how many elements the leap year list has. If you need to discover it, use `len(list_of_leap_years)`

.

**Create function to calculate leap year - MATLAB Answers,** IS_LEAP_YEAR Determine if a given year is a leap year Type this to find out. The terms of the original assignment called for the function to error if the year After inserting a year and pressing the enter button, the program determines whether the inserted year is a leap year. Note: A leap year is divisible by 4 with no remainder. Java assignment 07: Find the leap years

`list_of_leap_years`

is not declared inside a function, so it takes value from outer scope, which might be undefined, for example.

**Leap Year Program In C,** Leap Year Program In C. It is evenly divisible by 100. If it is divisible by 100, then it should also be divisible by 400. Except this, all other years evenly divisible by 4 are leap years. A year is a leap year if − 1. It is evenly divisible by 100; 2. If it is divisible by 100, then it should also be divisible by 400; 3. Except this, all other years evenly divisible by 4 are leap years. Algorithm. 1. Take integer variable year; 2. Assign a value to the variable; 3. Check if the year is divisible by 4 but not 100, DISPLAY "leap year" 4.

Is your aim something like this? Your question and code are not as clear as to what you are trying to achieve but if this was your goal I can explain what I think is going wrong in your code.

def find_leap_years(given_year): list_of_leap_years = [] for i in range(given_year + 1): if i%4 == 0: if i%100 == 0: if i%400 == 0: list_of_leap_years.append(i) else: continue else: list_of_leap_years.append(i) else: continue return list_of_leap_years leap_years = find_leap_years(2000) print(leap_years)

**Output**

(xenial)vash@localhost:~/python$ python3.7 leapyear.py [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 304, 308, 312, 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, 412, 416, 420, 424, 428, 432, 436, 440, 444, 448, 452, 456, 460, 464, 468, 472, 476, 480, 484, 488, 492, 496, 504, 508, 512, 516, 520, 524, 528, 532, 536, 540, 544, 548, 552, 556, 560, 564, 568, 572, 576, 580, 584, 588, 592, 596, 604, 608, 612, 616, 620, 624, 628, 632, 636, 640, 644, 648, 652, 656, 660, 664, 668, 672, 676, 680, 684, 688, 692, 696, 704, 708, 712, 716, 720, 724, 728, 732, 736, 740, 744, 748, 752, 756, 760, 764, 768, 772, 776, 780, 784, 788, 792, 796, 800, 804, 808, 812, 816, 820, 824, 828, 832, 836, 840, 844, 848, 852, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 904, 908, 912, 916, 920, 924, 928, 932, 936, 940, 944, 948, 952, 956, 960, 964, 968, 972, 976, 980, 984, 988, 992, 996, 1004, 1008, 1012, 1016, 1020, 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1080, 1084, 1088, 1092, 1096, 1104, 1108, 1112, 1116, 1120, 1124, 1128, 1132, 1136, 1140, 1144, 1148, 1152, 1156, 1160, 1164, 1168, 1172, 1176, 1180, 1184, 1188, 1192, 1196, 1200, 1204, 1208, 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1240, 1244, 1248, 1252, 1256, 1260, 1264, 1268, 1272, 1276, 1280, 1284, 1288, 1292, 1296, 1304, 1308, 1312, 1316, 1320, 1324, 1328, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1360, 1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1396, 1404, 1408, 1412, 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1504, 1508, 1512, 1516, 1520, 1524, 1528, 1532, 1536, 1540, 1544, 1548, 1552, 1556, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1588, 1592, 1596, 1600, 1604, 1608, 1612, 1616, 1620, 1624, 1628, 1632, 1636, 1640, 1644, 1648, 1652, 1656, 1660, 1664, 1668, 1672, 1676, 1680, 1684, 1688, 1692, 1696, 1704, 1708, 1712, 1716, 1720, 1724, 1728, 1732, 1736, 1740, 1744, 1748, 1752, 1756, 1760, 1764, 1768, 1772, 1776, 1780, 1784, 1788, 1792, 1796, 1804, 1808, 1812, 1816, 1820, 1824, 1828, 1832, 1836, 1840, 1844, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1876, 1880, 1884, 1888, 1892, 1896, 1904, 1908, 1912, 1916, 1920, 1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000]

**Leap Year,** The algorithm to determine if a year is a leap year is as follows: Every year that is exactly divisible by four is a leap year, except for years that are exactly divisible by 100, but these centurial years are leap years, if they are exactly divisible by 400. In this program, you'll learn to check if the given year is a leap year or not. This is checked using a if else statement. A leap year is exactly divisible by 4 except for century years (years ending with 00). The century year is a leap year only if it is perfectly divisible by 400.

**[PDF] Programming Assignment #1,** Then use an if-else statement to determine whether the integer represents a leap year based on the definition of leap years above. print "Tell me what is the year How to Calculate Leap Years - Using Division Identify the year you want to check. See if the number is evenly divisible by 4. Confirm the number isn't evenly divisible by 100. Check if the number is evenly divisible by 400 to confirm a leap year.

**Leap Year Check & Generator,** This tool is used to find out the input year is a leap year or not.Also its possible to generate any range of leap years between two input years. Students Assignment Deadline Calculator · Children Equal Playing Time Calculator. a year is a leap year if it is divisible by four, unless it is also divisible by 100, unless it is also divisible by 400. I have been able to create a function however cannot work out how to do the false otherwise statement. Also with true and false I get 1(true) and 0 (false).

**Java assignment 07: Find the leap years,** After inserting a year and pressing the enter button, the program determines whether the inserted year is a leap year. Note: A leap year is A leap year is exactly divisible by 4 except for century years (years ending with 00). The century year is a leap year only if it is perfectly divisible by 400. For example, 2017 is not a leap year 1900 is a not leap year 2012 is a leap year 2000 is a leap year Source Code