Job Offer: Python Ninja or Pirate!
Nikos Vergas
nikos at vergas.gr
Mon Dec 10 09:10:16 EST 2007
> Challenge:
> A valid response will be either a solution to the problem below, or a
> link to some code of which you
> are particularly proud.
>
> Problem: In the dynamic language of your choice, write a short program
> that will:
> 1. define a list of the following user ids 42346, 77290, 729 (you can
> hardcode these, but it should
> still work with more or less ids)
> 2. retrieve an xml document related to each user at this url "http://
> api.etsy.com/feeds/xml_user_details.php?id="
> 3. retrieve the data contained in the city element from each xml
> document
> 4. keep a running total of how many users are found in each city
> 5. display the total count of users living in each city
>
> You can assume user ids are valid and that the url is available. The
> output should look something
> like:
>
> Charlotte: 1
> New York: 2
i wanted to make it a one liner, but i had to import modules :(
import sys, xml, urllib
dummy = [sys.stdout.write(city + ': ' + str(num) + '\n') for city, num in
set([[(a, o.count(a)) for a in p] for o, p in [2*tuple([[city for city in
((xml.dom.minidom.parseString(urllib.urlopen('http://api.etsy.com/feeds/xml_user_details.php?id='
+ str(id)).read()).getElementsByTagName('city')[0].childNodes + [(lambda
t: (setattr(t, 'data', 'no city'),
t))(xml.dom.minidom.Text())[1]])[0].data.lower().replace(' ', ' ') for id
in [71234, 71234, 71234, 71234, 71234, 71234, 42792])]])]][0])]
More information about the Python-list
mailing list