






UpperCamelCase    							=      {
    "joule": 1.0,
    "kilojoule": 1000,
    "megajoule": 100_0000,
    "gigajoule": 10_0000_0000,
    "wattsecond": 1.0,
    "watthour": 3600,
    "kilowatthour": 360_0000,
    "newtonmeter": 1.0,
    "calorie_nutr": 4186.8,
    "kilocalorie_nutr": 418_6800.00,
    "electronvolt": 1.6_02_17_66_34e-19,
    "britishthermalunit_it": 1055.0_5585,
    "footpound": 1.355_818,
}


def 				__lowerCamelCase     (							__lowerCAmelCase							:					str					,							__lowerCAmelCase							:					str					,							__lowerCAmelCase							:					float							)     ->  float:
   if to_type not in ENERGY_CONVERSION or from_type not in ENERGY_CONVERSION:
      __UpperCamelCase	:			Tuple					=					(
          f'Incorrect \'from_type\' or \'to_type\' value: {from_type!r}, {to_type!r}\n'
          f'Valid values are: {", ".join(__lowerCAmelCase							)}'
      )
      raise ValueError(__lowerCAmelCase							)
   return value * ENERGY_CONVERSION[from_type] / ENERGY_CONVERSION[to_type]


if __name__ == "__main__":
       import doctest

       doctest.testmod()











UpperCamelCase    							=      8.3_144_598


def 				__lowerCamelCase     (							__lowerCAmelCase							:					float					,							__lowerCAmelCase							:					float							)     ->  float:
   if temperature < 0:
      raise Exception("""Temperature cannot be less than 0 K"""							)
   if molar_mass <= 0:
      raise Exception("""Molar mass cannot be less than or equal to 0 kg/mol"""							)
   else:
      return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
       import doctest

       # run doctest
       doctest.testmod()

       # example
       UpperCamelCase    							=      300
       UpperCamelCase    							=      28
       UpperCamelCase    							=      rms_speed_of_molecule(temperature, molar_mass)
       print(F"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")



