Проблема с тестом

Помогите пожалуйста! Если человек выбрал вариант А, потом Б и снова А то баллы плюсуются двум типам личности сразу, а нужно чтобы плюсовался только окончательному ответу. Еще если человек несколько раз подряд нажал на один вариант ответа то баллы плюсуются столько раз сколько он нажал, а нужен 1 бал.

let real = 0;

function r1() {
  real += 1;
}

let intel = 0;

function i1() {
  intel += 1;
}
let social = 0;

function s1() {
  social = social + 1;
}
let convect = 0;

function c1() {
  convect = convect + 1;
}
let pred = 0;

function p1() {
  pred = pred + 1;
}
let artist = 0;

function a1() {
  artist = artist + 1;
}
<p>1.<input type="radio" name="answer1" class="switch" id="switch1" onclick="r1();">
  <label class="switch-for" for="switch1"></label><span class="vubor">Инженер-техник</span>
  <Br>
  <input type="radio" name="answer1" onclick="i1();" class="switch" id="switch2">
  <label class="switch-for" for="switch2"></label><span class="vubor">Инженер-контролер</span>
  <Br>
  </form>
  <form id="2">
    <p>2.<input type="radio" onclick="r1();" name="answer2" class="switch" id="switch3">
      <label class="switch-for" for="switch3"></label><span class="vubor">Вязальщик</span>
      <Br>
      <input type="radio" name="answer2" onclick="s1();" class="switch" id="switch4">
      <label class="switch-for" for="switch4"></label><span class="vubor">Санитарный врач</span>
      <Br>
  </form>
  <form id="3">
    <p>3.<input type="radio" name="answer" onclick="r1()" class="switch" id="switch5">
      <label class="switch-for" for="switch5"></label><span class="vubor">Повар</span>
      <Br>
      <input type="radio" name="answer" onclick="c1()" class="switch" id="switch6">
      <label class="switch-for" for="switch6"></label><span class="vubor">Наборщик</span>
      <Br>
  </form>
  <form id="4">
    <p>4.<input type="radio" name="answer" onclick="r1()" class="switch" id="switch7">
      <label class="switch-for" for="switch7"></label><span class="vubor">Фотограф</span>
      <Br>
      <input type="radio" name="answer" onclick="p1()" class="switch" id="switch8">
      <label class="switch-for" for="switch8"></label><span class="vubor">Зав. магазином</span>
      <Br>
  </form>
  <form id="5">
    <p>5.<input type="radio" name="answer" onclick="r1()" class="switch" id="switch9">
      <label class="switch-for" for="switch9"></label><span class="vubor">Чертежник</span>
      <Br>
      <input type="radio" name="answer" onclick="a1()" class="switch" id="switch10">
      <label class="switch-for" for="switch10"></label><span class="vubor">Дизайнер</span>
      <Br>


Ответы (1 шт):

Автор решения: OPTIMUS PRIME

Количество радио маленькое, кликать будут раз в несколько секунд. В этом случае можно каждый раз циклом тупо всё пересчитать:

let answers = document.querySelectorAll('form input[type="radio"]');
// Собирает нумерованный список из всех радио внутри form.
for (let i = 0; i < answers.length; i++) {
  // При изменении значения каждого из них, будет запускаться функция update
  answers[i].addEventListener("change", update);
}

function update() {
  let result = {};

  for (let i = 0; i < answers.length; i++) {
    if (answers[i].checked) {
      val = answers[i].dataset.type; 
      // val -- строка data-type="...", записанная в HTML очередного радио.
      // (Однобуквенные значения сохранены из исходного HTML)
      result[val] = (result[val] || 0) + 1;
    }
  }
  
  console.clear();
  console.log( result );
}
form { border-bottom: 1px solid #ddd }
label { display: block }
code { white-space: nowrap !important }
<form>
  <label><input data-type="r" type="radio" name="answer1"> <span class="prof">Инженер-техник</span></label>
  <label><input data-type="i" type="radio" name="answer1"> <span class="prof">Инженер-контролер</span></label>
</form>

<form>
  <label><input data-type="r" type="radio" name="answer2"> <span class="prof">Вязальщик</span></label>
  <label><input data-type="s" type="radio" name="answer2"> <span class="prof">Санитарный врач</span></label>
</form>

<form>
  <label><input data-type="r" type="radio" name="answer3"> <span class="prof">Повар</span></label>
  <label><input data-type="c" type="radio" name="answer3"> <span class="prof">Наборщик</span></label>
</form>

<form>
  <label><input data-type="r" type="radio" name="answer4"> <span class="prof">Фотограф</span></label>
  <label><input data-type="p" type="radio" name="answer4"> <span class="prof">Зав. магазином</span></label>
</form>

<form>
  <label><input data-type="r" type="radio" name="answer5"> <span class="prof">Чертежник</span></label>
  <label><input data-type="a" type="radio" name="answer5"> <span class="prof">Дизайнер</span></label>
</form>

→ Ссылка