Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- from urllib.request import urlopen
- from datetime import datetime
- def date_format(day: str): # making format of date 'better'
- if day[8:10] == '01':
- return "1st"
- if day[8:10] == '02':
- return "2nd"
- if day[8:10] == '03':
- return "3rd"
- if day[8] == '0':
- return f"{day[9]}th"
- else:
- return f"{day[8:10]}th"
- max_date = " "
- max_value = 0
- min_date = ""
- min_value = 10
- url = "https://api.nbp.pl/api/exchangerates/rates/a/chf/2022-01-01/2023-01-01/?format=json"
- json_url = urlopen(url)
- data = json.loads(json_url.read())
- for i in range(0, len(data["rates"])):
- if data["rates"][i]["mid"] > max_value: # finding maximum
- max_value = data["rates"][i]["mid"]
- max_date = data["rates"][i]["effectiveDate"]
- if data["rates"][i]["mid"] < min_value: # finding minimum
- min_value = data["rates"][i]["mid"]
- min_date = data["rates"][i]["effectiveDate"]
- max_date_object = datetime.strptime(max_date, '%Y-%m-%d').date()
- min_date_object = datetime.strptime(min_date, '%Y-%m-%d').date() # string -> date class
- print(f"For CHF the maximum value of currency rate was on "
- f"{max_date_object.strftime('%a')} {date_format(max_date)} "
- f"{max_date_object.strftime('%b %Y')} and it was: "
- f"{max_value}[PLN] for 1[CHF]")
- print(f"For CHF the minimum value of currency rate was on "
- f"{min_date_object.strftime('%a')} {date_format(min_date)} "
- f"{min_date_object.strftime('%b %Y')} and it was: "
- f"{min_value}[PLN] for 1[CHF]")
Advertisement
Add Comment
Please, Sign In to add comment