samedi 13 mars 2021

Using a couple if, and else's in 1 line

I am trying to use

"HCA_Status": 5 if CS.hcaSwitch else 7 if (lkas_enabled and apply_steer != 0) else 3,

in my code, I want "HCA_Status" to be 5 if hcaSwitch is True (it is a boolian controlled else where) otherwise be 7, if lkas_enabled is true and apply steer is not zero, if apply steer does not equal zero and lkas_enabled is false I need HCA_Status to be 3

Does this make sense? Sorry if this is confusing

Here is the complete code this would be in

    def create_pq_steering_control(packer, bus, apply_steer, idx, lkas_enabled, CS):
  values = {
    "HCA_Zaehler": idx,
    "LM_Offset": abs(apply_steer),
    "LM_OffSign": 1 if apply_steer < 0 else 0,
    "HCA_Status": 5 if CS.hcaSwitch else 7 if (lkas_enabled and apply_steer != 0) else 3,
    "Vib_Freq": 16,
  }

Does this make sense?

def create_pq_steering_control(packer, bus, apply_steer, idx, lkas_enabled, CS):
  values = {
    "HCA_Zaehler": idx,
    "LM_Offset": abs(apply_steer),
    "LM_OffSign": 1 if apply_steer < 0 else 0,
    "HCA_Status": (
      if CS.hcaSwitch:
        5
      elif lkas_enabled and apply_steer !=0:
        3
      else:
        7
    ),
    "Vib_Freq": 16,
  }

Aucun commentaire:

Enregistrer un commentaire