Files
freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript.md
2023-04-24 09:00:21 -07:00

2.2 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
cf1111c1c12feddfaeb1bdef Generare numeri interi casuali con JavaScript 1 https://scrimba.com/c/cRn6bfr 18186 generate-random-whole-numbers-with-javascript

--description--

Puoi generare numeri decimali casuali con Math.random(), ma a volte devi generare numeri interi casuali. Il seguente processo ti darà un numero intero casuale inferiore a 20:

  1. Utilizza Math.random() per generare un numero decimale casuale.
  2. Moltiplica quel numero decimale casuale per 20.
  3. Usa Math.floor() per arrotondare il numero per difetto al numero intero più vicino.

Ricorda che Math.random() non può mai restituire 1, quindi non è possibile ottenere 20 dato che stai arrotondando con Math.floor(). Questo procedimento ti darà un numero intero casuale nell'intervallo da 0 a 19.

Mettendo tutto insieme, questo è il codice:

Math.floor(Math.random() * 20);

Stai chiamando Math.random(), moltiplicando il risultato per 20, quindi passando il valore a Math.floor() per arrotondare il valore per difetto al numero intero più vicino.

--instructions--

Usa questa tecnica per generare e restituire un numero intero casuale nell'intervallo tra 0 e 9.

--hints--

Il risultato di randomWholeNum dovrebbe essere un numero intero.

assert(
  typeof randomWholeNum() === 'number' &&
    (function () {
      var r = randomWholeNum();
      return Math.floor(r) === r;
    })()
);

Dovresti usare Math.random per generare un numero casuale.

assert(code.match(/Math.random/g).length >= 1);

Dovresti moltiplicare il risultato di Math.random per 10 per ottenere un numero nell'intervallo tra zero e nove.

assert(
  code.match(/\s*?Math.random\s*?\(\s*?\)\s*?\*\s*?10[\D]\s*?/g) ||
    code.match(/\s*?10\s*?\*\s*?Math.random\s*?\(\s*?\)\s*?/g)
);

Dovresti usare Math.floor per rimuovere la parte decimale del numero.

assert(code.match(/Math.floor/g).length >= 1);

--seed--

--after-user-code--

(function(){return randomWholeNum();})();

--seed-contents--

function randomWholeNum() {
  return Math.random();
}

--solutions--

function randomWholeNum() {
  return Math.floor(Math.random() * 10);
}