


'''simple docstring'''



A__						:   dict[str, float]				=    {
    "km/h": 1.0,
    "m/s": 3.6,
    "mph": 1.6_0_9_3_4_4,
    "knot": 1.8_5_2,
}

A__						:   dict[str, float]				=    {
    "km/h": 1.0,
    "m/s": 0.2_7_7_7_7_7_7_7_8,
    "mph": 0.6_2_1_3_7_1_1_9_2,
    "knot": 0.5_3_9_9_5_6_8_0_3,
}



def      UpperCAmelCase__   (      UpperCAmelCase_       :							float ,       UpperCAmelCase_       :							str ,       UpperCAmelCase_       :							str				)	->						float:
     if unit_to not in speed_chart or unit_from not in speed_chart_inverse:
          __lowerCamelCase  :      Union[str, Any]														=						(
              F'Incorrect \'from_type\' or \'to_type\' value: {unit_from!r}, {unit_to!r}\n'
              F'Valid values are: {", ".join(UpperCAmelCase_				)}'
          )
          raise ValueError(UpperCAmelCase_				)
     return round(speed * speed_chart[unit_from] * speed_chart_inverse[unit_to] ,       3				)


if __name__ == "__main__":
      import doctest

      doctest.testmod()










'''simple docstring'''



from collections import namedtuple

import requests
from lxml import html  # type: ignore

A__						:   Tuple				=    namedtuple("""covid_data""", """cases deaths recovered""")



def      UpperCAmelCase__   (      UpperCAmelCase_       :							str = "https://www.worldometers.info/coronavirus/"				)	->						covid_data:
     __lowerCamelCase  :      Union[str, Any]														=						'//div[@class = "maincounter-number"]/span/text()'
     return covid_data(*html.fromstring(requests.get(UpperCAmelCase_				).content				).xpath(UpperCAmelCase_				)				)


A__						:   str				=    """Total COVID-19 cases in the world: {}
Total deaths due to COVID-19 in the world: {}
Total COVID-19 patients recovered in the world: {}"""

print(fmt.format(*covid_stats()))






