Challenges

Reddit challenges in python language.

Files Code and Result

challenge1_easy

challenge2_easy

challenge3_easy

challenge4_easy

challenge5_easy

challenge6_easy

challenge7_easy

challenge8_easy

challenge9_easy

challenge10_easy

challenge11.easy

challenge12_easy

challenge13_easy

challenge14_easy

challenge15_easy

challenge16_easy

challenge17_easy

challenge18_easy

challenge19_easy

challenge20_easy

challenge21_easy

challenge22_easy

challenge23_easy

challenge25_easy

challenge26_easy

challenge27_easy

challenge28_easy

challenge29_easy

challenge30_easy

challenge31_easy

challenge32_easy

challenge33_easy

challenge34_easy

challenge35_easy

challenge36_easy

challenge37_easy

challenge38_easy

challenge39_easy

challenge40_easy

challenge41_easy

challenge42_easy

challenge44_easy

challenge45_easy

challenge46_easy

challenge47_easy

challenge48_easy

challenge49_easy

challenge50_easy

challenge51_easy

challenge52_easy

challenge53_easy

challenge54_easy

challenge55_easy

challenge56_easy

challenge57_easy

challenge58_easy

challenge59_easy

challenge60_easy

challenge61_easy

challenge62_easy

challenge63_easy

challenge64_easy

challenge65_easy

challenge66_Dev

challenge66_easy

challenge67_easy

challenge68_easy

challenge69_easy

challenge69_easyBonus

challenge70_easy

challenge71_easy.py

challenge72_easy

challenge73_easy

challenge74_easy

challenge76_easy

challenge77_easy

challenge79_easy

challenge80_easyone

challenge82_easy

challenge83_easy

challenge84_easy

challenge85_easy

challenge85_easybonus

challenge86_easy

challenge87_easy

challenge88_easy

challenge88_easybonus

challenge89_easy

challenge91_easy

challenge92_easy

challenge93_easy

challenge94_easy

challenge95_easy

challenge96_easy

challenge97_easy

challenge98_easy

challenge99_easy

challenge100_easy

challenge100_easybonus

challenge101_easy

challenge101_easybonus

challenge102_easy

challenge103_easy

challenge104_easy

challenge105_easy

challenge106_easy

challenge107_easy

challenge108_easy

challenge109_easy

challenge110_easy

challenge111_easy2

challenge112_easy

challenge113_easy

challenge114_easy

challenge115_easy

challenge116_easy

challenge119_easy

challenge130_easy

challenge143_easy

challenge146_easy

challenge148_easy

challenge149_easy

challenge153_easy

challenge154_easy

challenge158_easy

challenge158_easybonus

challenge159_easy

challenge160_easy

challenge169_easy

challenge169_easybonus

challenge172_easy

challenge174_easy

challenge175_easy

challenge177_easy

challenge180_easy

challenge181_easy

challenge185_easy

challenge192_easy

challenge193_easy

challenge197_easy

challenge198_easy

challenge199_easy

challenge201_easy

challenge202_easy

challenge203_easy

challenge204_easy

challenge204_easyBonus

challenge205_easy

challenge205_easyBonu

challenge206_easy

challenge208_easy

challenge210_easy

challenge211_easy

challenge212_easy

challenge212_easybonus

challenge213_easy

challenge214_easy

challenge215_easy

challenge216_easy

challenge217_easy

challenge218_easy

challenge218_easyBonus1

challenge218_easyBunus2

challenge219_easy

challenge220_easy.py

challenge221_easy

challenge221_easy

challenge222_easy

challenge222_easy.py

challenge223_easy

challenge226_easy

challenge226_easy

challenge228_easy.py

challenge228_easydev

challenge229_easy

challenge229_easybonus.py

challenge232_easy

challenge232_easy

challenge232_easybonus

challenge232_easybonus

challenge234_easy

challenge234_easybonus

challenge235_easy

challenge236_easy

challenge237_easy

challenge238_easy

challenge238_easybonus

challenge239_easy

challenge240_easy

challenge242_easy

challenge242_easy

challenge242_easyBonus

challenge243_easy

challenge245_easy

challenge245_easyBonus

challenge246_easy

challenge247_easy

challenge249_easy

challenge252_easy

challenge254_easy

challenge255_easy

challenge270_easy

challenge284_easy

challenge286_easy

challenge287_easy

challenge288_easy

challenge290_easy

challenge290_easybonus

challenge291_easy

challenge291_easybonus

challenge112_easy

'''
Wikipedia log-in URL is the following:

http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Main+Page

Note how the URL has the Query String "?title=..", where the value "title" is
"Special:UserLogin" and "returnto" is "Main+Page"?

Your goal is to, given a website URL, validate if the URL is well-formed,
and if so, print a simple list of the key-value pairs! Note that URLs only
allow specific characters (listed here) and that a Query String must always
be of the form "<base-URL>[?key1=value1[&key2=value2[etc...]]]"

Formal Inputs & Outputs:

Input Description:

String GivenURL - A given URL that may or may not be well-formed.

Output Description:

If the given URl is invalid, simply print "The given URL is invalid".
If the given URL is valid, print all key-value pairs in the following format:

key1: "value1"
key2: "value2"
key3: "value3"
etc...

Sample Inputs & Outputs:

Given "http://en.wikipedia.org/w/index.php?title=Main_Page&action=edit",
your program should print the following:

title: "Main_Page"
action: "edit"

Given "http://en.wikipedia.org/w/index.php?title= hello world!&action=é",
your program should print the following:

The given URL is invalid

(To help, the last example is considered invalid because space-characters and
unicode characters are not valid URL characters)
'''
import re

url = 'http://worldofwater.com/index.php?cat=Blagdon_Minipond_Duo_Filter_Kits'
# cat, Blagdon....
url2 = 'http://flightscan.com/sites/adenairways.html'
# invalid
url3 = 'http://www.crazyguyonabike.com/doc/?o=1gci&doc_id=1885&v=f'
# o:lgc..., doc_id:1885, v:f
url4 = 'https://www.google.com/search?q=opening+curry%27s+leicester&ie=utf-8' \
       '&oe=utf-8&client=firefox-b&gfe_rd=cr&dcr=0&ei=Owu4Wb81p8fwB96FgbgC&np' \
       'sic=0&rflfq=1&rlha=0&rllag=52615959,-1148382,2989&tbm=lcl&rldimm=145' \
       '91543859091359834&ved=0ahUKEwi4svjKiKDWAhXSJFAKHfklCv0QvS4IQTAA&tbs=l' \
       'rf:!2m4!1e17!4m2!17m1!1e2!2m1!1e3!3sIAE,lf:1,lf_ui:4#gfe_rd=cr&rlfi=h' \
       'd:;si:14591543859091359834;mv:!1m3!1d22306.60008864256!2d-1.1483827!3' \
       'd52.61595964999999!2m3!1f0!2f0!3f0!3m2!1i188!2i221!4f13.1;tbs:lrf:!2m1!' \
       '1e3!2m4!1e17!4m2!17m1!1e2!3sIAE,lf:1,lf_ui:4'

urls = [url, url2, url3, url4]

for url in urls:
    print(url)
    ans2 = re.findall('(\w+(?=\=))', url)
    ans3 = re.findall('\=([A-z\d\+\%]+|\d+)+', url)
    if ans2 == []:
        print('The given url is invalid.')
        print()
        continue
    for x in range(0, len(ans2)):
        print('{0}{1}{2}'.format(ans2[x], ': ', ans3[x]))
    print()

Result

http://worldofwater.com/index.php?cat=Blagdon_Minipond_Duo_Filter_Kits
cat: Blagdon_Minipond_Duo_Filter_Kits

http://flightscan.com/sites/adenairways.html
The given url is invalid.

http://www.crazyguyonabike.com/doc/?o=1gci&doc_id=1885&v=f
o: 1gci
doc_id: 1885
v: f

https://www.google.com/search?q=opening+curry%27s+leicester&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&dcr=0&ei=Owu4Wb81p8fwB96FgbgC&npsic=0&rflfq=1&rlha=0&rllag=52615959,-1148382,2989&tbm=lcl&rldimm=14591543859091359834&ved=0ahUKEwi4svjKiKDWAhXSJFAKHfklCv0QvS4IQTAA&tbs=lrf:!2m4!1e17!4m2!17m1!1e2!2m1!1e3!3sIAE,lf:1,lf_ui:4#gfe_rd=cr&rlfi=hd:;si:14591543859091359834;mv:!1m3!1d22306.60008864256!2d-1.1483827!3d52.61595964999999!2m3!1f0!2f0!3f0!3m2!1i188!2i221!4f13.1;tbs:lrf:!2m1!1e3!2m4!1e17!4m2!17m1!1e2!3sIAE,lf:1,lf_ui:4
q: opening+curry%27s+leicester
ie: utf
oe: utf
client: firefox
gfe_rd: cr
dcr: 0
ei: Owu4Wb81p8fwB96FgbgC
npsic: 0
rflfq: 1
rlha: 0
rllag: 52615959
tbm: lcl
rldimm: 14591543859091359834
ved: 0ahUKEwi4svjKiKDWAhXSJFAKHfklCv0QvS4IQTAA
tbs: lrf
gfe_rd: cr
rlfi: hd