Created
February 13, 2023 09:40
-
-
Save zhongleqi/8ee37c692f7eef4a39f0f6f0fac582f2 to your computer and use it in GitHub Desktop.
assignment 5 draft 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import requests | |
import json | |
def main(): | |
members = get_members_data() | |
grouped_members = group_members_by_party(members) | |
sort_member = sort_member(grouped_members) | |
print(json.dumps(members, indent=4)) | |
def get_members_data(): | |
headers = {'X-API-Key': os.environ["PROPUBLICA_API_KEY"] } | |
url = "https://api.propublica.org/congress/v1/118/senate/members.json" | |
response = requests.get(url, headers=headers) | |
data = response.json() | |
return data ['results'][0]['members'] | |
def group_members_by_party(members): | |
democrat = [] | |
republican = [] | |
grouped_members = [democrat, republican] | |
for member in members: | |
if member['party'] == 'D': | |
democrat.append(member) | |
elif member['party'] == 'R': | |
republican.append(member) | |
return grouped_members | |
def sort_member(grouped_members): | |
for member in member_list: | |
class sort_member: | |
def __init__(self, first, last, state, vote): | |
self.first = first_name | |
self.last = last_name | |
self.state = state | |
self.vote = votes_against_party_pct | |
def __repr__(self) -> str: | |
return repr((self.first, self.last, self.state, self.vote)) | |
sorted(member_list, key = lambda sort_member: sort_member.vote) | |
return grouped_members [5] | |
#I'm confused, shall I sort [democrat] and [republican] seperately? | |
# Then why did we make a list of lists grouped_members = [democrat, republican] ? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment