import numpy as np np.set_printoptions(precision=2, suppress=True) hours = np.array([6.0, 7.5, 8.0, 4.0]) hourly_rate = np.array([42.0, 42.0, 45.0, 40.0]) bonus = np.array([0.0, 15.0, 20.0, 0.0]) loop_total = np.array( [ hours_i * rate_i + bonus_i for hours_i, rate_i, bonus_i in zip(hours, hourly_rate, bonus) ] ) vector_total = hours * hourly_rate + bonus np.testing.assert_allclose(vector_total, loop_total) print("input shape:", hours.shape) print("loop total:", loop_total) print("vector total:", vector_total) print("matches loop:", np.allclose(vector_total, loop_total)) print("result dtype:", vector_total.dtype)