e_chemistry.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #e_chemistry.py
  2. '''
  3. title: Chemistry Elements Information
  4. author: Michael Tang
  5. date-created: 2021-05-12
  6. '''
  7. import sys
  8. # --- subroutines -- #
  9. ### -- INPUTS
  10. def getElem():
  11. '''
  12. User enter the Element Symbol
  13. :return: (str)
  14. '''
  15. ELEMENT = input("Element Symbol: ")
  16. return ELEMENT
  17. ### --- PROCESSING
  18. def getIndex(STRING, SYMBOLS):
  19. '''
  20. searching for the index number of the element
  21. :param STRING: (str) Element Symbol
  22. :param SYMBOLS: (list) of Symbols
  23. :return (int) Index number
  24. '''
  25. for i in range(len(SYMBOLS)):
  26. if SYMBOLS[i] == STRING:
  27. return i
  28. print("The symbol was not found")
  29. sys.exit()
  30. ### - OUTPUT
  31. def dispInfo(INDEX, NAME, ATOMIC_MASS):
  32. '''
  33. display the name and atomic mass of the symbol.
  34. :param INDEX: (int)
  35. :param NAME (list) of element names
  36. :param ATOMIC_MASS: (list) of element atomic masses
  37. :return: (none)
  38. '''
  39. print(f"{NAME[INDEX]}: {ATOMIC_MASS[INDEX]} g/mol")
  40. # --- variables --- #
  41. ElemSym = (
  42. "H",
  43. "He",
  44. "Li",
  45. "Be"
  46. )
  47. ElemName = (
  48. "Hydrogen",
  49. "Helium",
  50. "Lithium",
  51. "Beryllium"
  52. )
  53. ElemAtomicM = (
  54. 1.01,
  55. 4.0,
  56. 6.94,
  57. 9.01
  58. )
  59. if __name__ == "__main__":
  60. # --- MAIN PROGRAM CODE --- #
  61. ELEM_SYMBOL = getElem()
  62. ELEM_IND = getIndex(ELEM_SYMBOL, ElemSym)
  63. # print(ELEM_IND)
  64. dispInfo(ELEM_IND, ElemName, ElemAtomicM)