示例#1
0
 def __setitem__(self, key, value):
     """Sets a value and counts up the quantum numbers
     """
     if key in self.numbers:
         self.numbers[key] = Rational(value)
     else:
         self.numbers[key] = Rational(value)
         self.nelem += 1
     self._assert_sanity_()
示例#2
0
 def numbers(self, numbers):
     if type(numbers) is str:
         _t = numbers.split()
         nums = {}
         i = 0
         assert len(_t) % 2 == 0, "Not of form 'key1 value1 key2 value2'"
         while i < len(_t):
             nums[_t[i]] = Rational(_t[i + 1])
             i += 2
         self._numbers = nums
     elif type(numbers) is dict:
         for i in numbers:
             numbers[i] = Rational(numbers[i])
         self._numbers = numbers
     elif type(numbers) is QuantumNumbers:
         self._numbers = numbers.numbers
     elif numbers is None:
         self._numbers = {}
     else:
         assert False, "Expected dict or String for QuantumNumbers"