11from functools import singledispatchmethod
2- from typing import overload
32
43
54class Element :
@@ -32,9 +31,10 @@ def __eq__(self, other):
3231 def _ (self , other : str ):
3332 return self .symbol == other
3433
35- @overload
34+ @__eq__ . register
3635 def _ (self , other : float ):
37- ...
36+ return self .number == other
37+
3838 @__eq__ .register
3939 def _ (self , other : int ):
4040 return self .number == other
@@ -93,7 +93,7 @@ def __str__(self):
9393 if 'C' in formula .keys ():
9494 s += f"C{ formula ['C' ]} "
9595 del formula ['C' ]
96- if 1 in formula .keys ():
96+ if 'H' in formula .keys ():
9797 s += f"H{ formula ['H' ]} "
9898 del formula ['H' ]
9999 for element , count in sorted (formula .items ()):
@@ -106,7 +106,7 @@ def __repr__(self):
106106 return f"{ self .name } : { self } "
107107
108108
109- hydrogen = Element ('H' , 6 , 'hydrogen' )
109+ hydrogen = Element ('H' , 1 , 'hydrogen' )
110110carbon = Element ('C' , 6 , 'carbon' )
111111oxygen = Element ('O' , 8 , 'oxygen' )
112112iron = Element ('Fe' , 26 , 'iron' )
0 commit comments