Created
October 5, 2020 04:12
-
-
Save kurzweil777/d56e496a32561200dd54c29b5d412ec6 to your computer and use it in GitHub Desktop.
Exercise from CodeWars
This file contains 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 re | |
def travel(r, zipcode): | |
"""The function travel will take two parameters r (addresses' list of all clients' as a string) and zipcode and | |
returns a string in the following format: | |
zipcode:street and town,street and town,.../house number,house number,... | |
The street numbers must be in the same order as the streets where they belong. | |
If a given zipcode doesn't exist in the list of clients' addresses return "zipcode:/""" | |
number_of_house, street = [], [] | |
regex = re.compile(r'(^\d{1,4}).(.*).(\w{2}\s\d{5})$') | |
for full_street_name in r.split(','): | |
result = regex.findall(full_street_name) | |
if result: | |
for street_name_for_divide in result: | |
if street_name_for_divide[2] in zipcode: | |
street.append(street_name_for_divide[1]) | |
number_of_house.append(street_name_for_divide[0]) | |
else: | |
return f"{zipcode}:/" | |
return f'{zipcode}:{",".join(street).strip()}/{",".join(number_of_house).strip()}' | |
ad = ( | |
"123 Main Street St. Louisville OH 43071,432 Main Long Road St. Louisville OH 43071,786 High Street Pollocksville " | |
"NY 56432, " | |
"54 Holy Grail Street Niagara Town ZP 32908,3200 Main Rd. Bern AE 56210,1 Gordon St. Atlanta RE 13000," | |
"10 Pussy Cat Rd. Chicago EX 34342,10 Gordon St. Atlanta RE 13000,58 Gordon Road Atlanta RE 13000," | |
"22 Tokyo Av. Tedmondville SW 43098,674 Paris bd. Abbeville AA 45521,10 Surta Alley Goodtown GG 30654," | |
"45 Holy Grail Al. Niagara Town ZP 32908,320 Main Al. Bern AE 56210,14 Gordon Park Atlanta RE 13000," | |
"100 Pussy Cat Rd. Chicago EX 34342,2 Gordon St. Atlanta RE 13000,5 Gordon Road Atlanta RE 13000," | |
"2200 Tokyo Av. Tedmondville SW 43098,67 Paris St. Abbeville AA 45521,11 Surta Avenue Goodtown GG 30654," | |
"45 Holy Grail Al. Niagara Town ZP 32918,320 Main Al. Bern AE 56215,14 Gordon Park Atlanta RE 13200," | |
"100 Pussy Cat Rd. Chicago EX 34345,2 Gordon St. Atlanta RE 13222,5 Gordon Road Atlanta RE 13001," | |
"2200 Tokyo Av. Tedmondville SW 43198,67 Paris St. Abbeville AA 45522,11 Surta Avenue Goodville GG 30655," | |
"2222 Tokyo Av. Tedmondville SW 43198,670 Paris St. Abbeville AA 45522,114 Surta Avenue Goodville GG 30655," | |
"2 Holy Grail Street Niagara Town ZP 32908,3 Main Rd. Bern AE 56210,77 Gordon St. Atlanta RE 13000") | |
travel(ad, "OH 43071") # OH 43071:Main Street St. Louisville,Main Long Road St. Louisville/123,432 | |
travel(ad, "NY 56432") # NY 56432:High Street Pollocksville/786 | |
travel(ad, "NY 5643") # NY 5643:/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment