SageMath assignment
Kernel: SageMath (stable)
SageMath Assignment : Due June 12 (end of day)
1. Count the number of subsets of the set whose elements add up to 20. The set can be created with the expression Set(range(1,21)). Here is code for a function the can be used for testing whether a set is to be counted.
In [1]:
In [2]:
Out[2]:
64
2. Create SageMath code to do the following:
- Import the csv package
- Read in the States csv file
- For each state, compute its population density (population/area). Use // to compute this number as an integer. Then print the state name followed by the density.
In [4]:
We want to avoid using the first item in the array since it is the headings. Use csvArray[1:] instead of just csvArray.
In [5]:
Out[5]:
['name',
'abbreviation',
'capital',
'most populous city',
'population',
'square miles',
'time zone 1',
'time zone 2',
'dst']
Here are two ways to get the same result, first using a loop and second using map.
In [15]:
Out[15]:
[['ALABAMA', 89.0],
['ALASKA', 1.0],
['ARIZONA', 57.0],
['ARKANSAS', 54.0],
['CALIFORNIA', 225.0],
['COLORADO', 48.0],
['CONNECTICUT', 634.0],
['DELAWARE', 452.0],
['FLORIDA', 281.0],
['GEORGIA', 165.0],
['HAWAII', 118.0],
['IDAHO', 18.0],
['ILLINOIS', 222.0],
['INDIANA', 176.0],
['IOWA', 53.0],
['KANSAS', 34.0],
['KENTUCKY', 106.0],
['LOUISIANA', 86.0],
['MAINE', 37.0],
['MARYLAND', 459.0],
['MASSACHUSETTS', 624.0],
['MICHIGAN', 102.0],
['MINNESOTA', 60.0],
['MISSISSIPPI', 60.0],
['MISSOURI', 85.0],
['MONTANA', 6.0],
['NEBRASKA', 23.0],
['NEVADA', 23.0],
['NEW HAMPSHIRE', 141.0],
['NEW JERSEY', 998.0],
['NEW MEXICO', 16.0],
['NEW YORK', 358.0],
['NORTH CAROLINA', 174.0],
['NORTH DAKOTA', 9.0],
['OHIO', 257.0],
['OKLAHOMA', 52.0],
['OREGON', 38.0],
['PENNSYLVANIA', 273.0],
['RHODE ISLAND', 681.0],
['SOUTH CAROLINA', 142.0],
['SOUTH DAKOTA', 10.0],
['TENNESSEE', 149.0],
['TEXAS', 92.0],
['UTAH', 32.0],
['VERMONT', 64.0],
['VIRGINIA', 184.0],
['WASHINGTON', 93.0],
['WEST VIRGINIA', 75.0],
['WISCONSIN', 86.0],
['WYOMING', 5.0]]
In [9]:
Out[9]:
[['ALABAMA', 89.0],
['ALASKA', 1.0],
['ARIZONA', 57.0],
['ARKANSAS', 54.0],
['CALIFORNIA', 225.0],
['COLORADO', 48.0],
['CONNECTICUT', 634.0],
['DELAWARE', 452.0],
['FLORIDA', 281.0],
['GEORGIA', 165.0],
['HAWAII', 118.0],
['IDAHO', 18.0],
['ILLINOIS', 222.0],
['INDIANA', 176.0],
['IOWA', 53.0],
['KANSAS', 34.0],
['KENTUCKY', 106.0],
['LOUISIANA', 86.0],
['MAINE', 37.0],
['MARYLAND', 459.0],
['MASSACHUSETTS', 624.0],
['MICHIGAN', 102.0],
['MINNESOTA', 60.0],
['MISSISSIPPI', 60.0],
['MISSOURI', 85.0],
['MONTANA', 6.0],
['NEBRASKA', 23.0],
['NEVADA', 23.0],
['NEW HAMPSHIRE', 141.0],
['NEW JERSEY', 998.0],
['NEW MEXICO', 16.0],
['NEW YORK', 358.0],
['NORTH CAROLINA', 174.0],
['NORTH DAKOTA', 9.0],
['OHIO', 257.0],
['OKLAHOMA', 52.0],
['OREGON', 38.0],
['PENNSYLVANIA', 273.0],
['RHODE ISLAND', 681.0],
['SOUTH CAROLINA', 142.0],
['SOUTH DAKOTA', 10.0],
['TENNESSEE', 149.0],
['TEXAS', 92.0],
['UTAH', 32.0],
['VERMONT', 64.0],
['VIRGINIA', 184.0],
['WASHINGTON', 93.0],
['WEST VIRGINIA', 75.0],
['WISCONSIN', 86.0],
['WYOMING', 5.0]]
Here is how to sort the states by population density.
In [16]:
In [17]:
Out[17]:
[['ALASKA', 1.0],
['WYOMING', 5.0],
['MONTANA', 6.0],
['NORTH DAKOTA', 9.0],
['SOUTH DAKOTA', 10.0],
['NEW MEXICO', 16.0],
['IDAHO', 18.0],
['NEBRASKA', 23.0],
['NEVADA', 23.0],
['UTAH', 32.0],
['KANSAS', 34.0],
['MAINE', 37.0],
['OREGON', 38.0],
['COLORADO', 48.0],
['OKLAHOMA', 52.0],
['IOWA', 53.0],
['ARKANSAS', 54.0],
['ARIZONA', 57.0],
['MINNESOTA', 60.0],
['MISSISSIPPI', 60.0],
['VERMONT', 64.0],
['WEST VIRGINIA', 75.0],
['MISSOURI', 85.0],
['LOUISIANA', 86.0],
['WISCONSIN', 86.0],
['ALABAMA', 89.0],
['TEXAS', 92.0],
['WASHINGTON', 93.0],
['MICHIGAN', 102.0],
['KENTUCKY', 106.0],
['HAWAII', 118.0],
['NEW HAMPSHIRE', 141.0],
['SOUTH CAROLINA', 142.0],
['TENNESSEE', 149.0],
['GEORGIA', 165.0],
['NORTH CAROLINA', 174.0],
['INDIANA', 176.0],
['VIRGINIA', 184.0],
['ILLINOIS', 222.0],
['CALIFORNIA', 225.0],
['OHIO', 257.0],
['PENNSYLVANIA', 273.0],
['FLORIDA', 281.0],
['NEW YORK', 358.0],
['DELAWARE', 452.0],
['MARYLAND', 459.0],
['MASSACHUSETTS', 624.0],
['CONNECTICUT', 634.0],
['RHODE ISLAND', 681.0],
['NEW JERSEY', 998.0]]
In [0]: