Не совсем понятно, в каком случае это используется.Если вы всегда будете выполнять диапазон [0,3,0.1] с шагом .1, возможно, вам не нужно показывать - h пользователю.
Предполагается, что ваша функция принимает значение h, а все остальные значения являются значениями по умолчанию:
h = np.arange([0,3,0.1]) # I think you meant 'arange()' instead of 'array()' above
for impurity_val in h:
calculate_hamiltonian(h)
В противном случае вы можете написать скрипт на python для генерации строки, просматривая значения val.Строка объединит команды, например:
python ThreeSpinDriving.py --h 0 && ThreeSpinDriving --h 1 && ThreeSpinDriving -h 3