code: def format_version(major, minor, patch, prerelease=None, build=None):
      
      version = "%d.%d.%d" % (major, minor, patch)
      if prerelease is not None:
          version = version + "-%s" % prerelease
  
      if build is not None:
          version = version + "+%s" % build
  
      return version
docs: Format a version according to the Semantic Versioning specification
  
      :param str major: the required major part of a version
      :param str minor: the required minor part of a version
      :param str patch: the required patch part of a version
      :param str prerelease: the optional prerelease part of a version
      :param str build: the optional build part of a version
      :return: the formatted string
      :rtype: str
  
      >>> import semver
      >>> semver.format_version(3, 4, 5, 'pre.2', 'build.4')
      '3.4.5-pre.2+build.4'