Lab 3

Part 3 Programming Exercise

lab3q2.py


import xmltodict
import urllib.request

userCurrency = input('Enter Currency Code : ')

fileIn=urllib.request.urlopen('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml')
byteStr = fileIn.read()
lines=byteStr.decode('utf-8')
dl=xmltodict.parse(lines)

if userCurrency == 'XDR':
    for e in dl['gesmes:Envelope']['Cube']['Cube']['Cube']:
        if e.get('@currency') == 'JPY':
            jpyRate = e.get('@rate')
            
        if e.get('@currency') == 'CNY':
            cnyRate = e.get('@rate')
                
        if e.get('@currency') == 'GBP':
            gbpRate = e.get('@rate')
        
        if e.get('@currency') == 'USD':
            usaRate = e.get('@rate')
                
    userCurrencyRate = "{:.4f}".format(1/(0.38671 + 11.9 / float(jpyRate) + 1.0174 / float(cnyRate) + 
                           0.085946 / float(gbpRate) + 0.58252 / float(usaRate)))
else:           
    for e in dl['gesmes:Envelope']['Cube']['Cube']['Cube']:
        if e.get('@currency') == userCurrency:
            userCurrencyRate = e.get('@rate')
       
print("On " + dl['gesmes:Envelope']['Cube']['Cube']['@time'] + 
      " One euro is " + userCurrencyRate + ' ' + userCurrency)