






'''simple docstring'''







def  SCREAMING_SNAKE_CASE_       (UpperCamelCase      )      ->       list[int]:

							if length <= 0 or not isinstance(UpperCamelCase				,			UpperCamelCase      ):
														raise ValueError("""Length must be a positive integer."""      )
							return [n * (2 * n - 1) for n in range(UpperCamelCase      )]


if __name__ == "__main__":
			print(hexagonal_numbers(length=5))
			print(hexagonal_numbers(length=10))








"""simple docstring"""





from __future__ import annotations

__A											=		1.6_021e-19  # units = C
def  __A   (_SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE     ,   )					->tuple[str, float]:





  """simple docstring"""


  if (conductivity, electron_conc, mobility).count(0			) != 1:
    raise ValueError('You cannot supply more or less than 2 values'			)
  elif conductivity < 0:
    raise ValueError('Conductivity cannot be negative'			)
  elif electron_conc < 0:
    raise ValueError('Electron concentration cannot be negative'			)
  elif mobility < 0:
    raise ValueError('mobility cannot be negative'			)
  elif conductivity == 0:
    return (
        "conductivity",
        mobility * electron_conc * ELECTRON_CHARGE,
    )
  elif electron_conc == 0:
    return (
        "electron_conc",
        conductivity / (mobility * ELECTRON_CHARGE),
    )
  else:
    return (
        "mobility",
        conductivity / (electron_conc * ELECTRON_CHARGE),
    )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
