Tässä on JavaScript pätkä joka arpoo satunnaisluvun, arpooko se väliltä 1-3 vai 0-3. Ja miten saan ihan itse testattua tuon mitä se tekee.
var text;
var x = Math.floor(Math.random() * 3);
switch(x) {
case 1: text = "Satunnaisluku 1"; break;
case 2: text = "Satunnaisluku 2"; break;
case 3: text = "Satunnaisluku 3"; break;
default:text = "Satunnaisluku 0";
}
JavaScript ja satunnaisluvun arpominen
13
178
Vastaukset
- Anonyymi
Kauankohan menisi aikaa neljä miljardin kierroksen while silmukassa.
t. ap. - Anonyymi
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
Luku tulee väliltä 0-2, sillä Math.random() antaa luvun väliltä [0, 1), joten kokonaisosa jää aina alle kolmen. Luvut 0, 1 ja 2 taas ovat kaikki mahdollisia ja yhtä todennäköisiä (Math.random() tasajakautunut). Periaatteessa, vaikka 1 olisikin Math.random():n mahdollinen arvo, olisi sen todennäköisyys 0, jos ajatellaan Math.random():n noudattavan tasajakaumaa.
Helpoiten saat testattua syöttämällä koodin konsoliin. Mihin sinä muuten tuota text:iä
ja switch:iä tuossa tarvitset? Testiä varten vain tulosta luku x konsoliin koodilla
console.log(x);
Ja sen tekstinkin saat näppärämmin näin (pistetään nyt toString() varmuuden vuoksi vaikka sitä ei tarvitsisi :D ):
var text = "Satunnaisluku " x.toString();- Anonyymi
var text;
console.log(Math.floor(Math.random() * 2));
Arpoo 0 ja 1 - Anonyymi
Anonyymi kirjoitti:
var text;
console.log(Math.floor(Math.random() * 2));
Arpoo 0 ja 1ei tarvita var text; riviä
- Anonyymi
Tee tuosta funktio näin:
var munRandom = () => Math.floor(Math.random()*3);
niin on helpompi testailla. Laita vaikka listaan 100 randomia ja kunkin luvun lukumäärä:
var n = 100;
var data = new Array(n).fill(0).map(munRandom);
var maarat = [0,1,2].map(k=>data.filter(x=>x===k).length);
console.log(maarat);- Anonyymi
Kovastipa se näyttää helposti ymmärrettävältä, mutta toimii.
- Anonyymi
Var on mennyttä aikaa. Käyttäkää muuttujille lettiä ja muuttumattomille constia.
https://ui.dev/var-let-const/- Anonyymi
Onko tässä nyt kysymys muuttujan näkyvyysalueen laajuudesta, var muuttuja on paikallinen ja let globaali.
- Anonyymi
Anonyymi kirjoitti:
Onko tässä nyt kysymys muuttujan näkyvyysalueen laajuudesta, var muuttuja on paikallinen ja let globaali.
Joo, mutta toiste perin: var on 'globaali' tai siis funktio-skoopissa globaali tai miten se nyt sanotaan, siis jos sulla on funktio, niin var:illa määritelty näkyy siellä kaikkialla.
Ite käytän varria sillon jos pitää vaan nopeesti konsolissa jotain juttua kokeilla. Sen voi laittaa uudestaan saman koodin kun sitä korjailee, kun var ei välitä vaikka olisi ennenkin määritelty.
- Anonyymi
Jos et laita alkuun random-generaattorin siemenlukua josta se aloittaa, aloittaa aina samasta, jolloin tulee samoja lukuja aina peräkkäin kun olet käynnistänyt tietokoneen uudelleen ja ajat tuon ohjelman.
Eli pitää synkronoida aikaan tavallaan tuo satunnaislukugeneraattori, C-kielessä on tuollainen srand(TIME); joku vastaava funktio on varmasti JAVA:ssakin.
c:ssä srand() ja raqnd(), itse käytän aivan omaa satunnaislukugeneraattoriani en noita valmiita.- Anonyymi
Laittaisihan sitä vaikka mitä siemeniä kun osaisi.
- Anonyymi
Ymmärrät varmastikin mitä tarkoitan, että ei ole kovinnaisia=kovin satunnaisia ne luvut jos aina tietokoneen käynnistyttyä se alkaa arpomaan samojqa lukuja.
Mekaanisen randomlukugeneraattorin saa helposti tehtyä näin: kaada näppäimistön päälle kupillinen juomaa, ala sen jälkeen painelemaan numeronäppäimiä, kokeillen mitä tulee.
Ehkä parempi ottaa random jostain digitoidusta lähteestä, vaikka web-kameran kuvasta joka kuvaa ulkopuolelle jollain algoritmilla laskemalla liikkuvasta kuvasta numeroita.- Anonyymi
Tämä on jo kokeiltu.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Rukoilimme Länsimuurilla 2000 vuoden jälkeen, Jumalamme oli antanut meille kaiken takaisin
Western Wall, In our Hands. 55th Para. https://www.youtube.com/watch?v=u4BJAppyCSo https://en.wikipedia.org/wiki/55th_232463Kerro kaivattusi
Jokin tapa/piirre mikä sinua viehättää ja mistä hän voisi myös tunnistaa itsensä.531743Saako kantaa asetta
Voiko olla koskaan kotelossa lonkalla ase.. Siis ei mikään luvaton ase. Johon on luvat. Esim luottamustoimessa, tai kaup111044Vakkuri puhuu että Suomi joutuu sotaan.
Hänen mukaansa asiantuntijat ovat yhtä mieltä että Suomi joutuu sotaan Venäjän kanssa. En tiedä kuinka lähellä se on, mu2951022- 259972
- 146893
- 56854
Mies mitä ajattelet naisista?
Kerro mitä ajatuksia nousee. Mitä naiset sinulle merkitsee? Sana on vapaa.110759- 46735
Mitä laitatte karjalanpiirakan päälle?
Voita tietenkin, mutta mitä muuta? Itse yleensä juustoa, jotain leikkelemakkaraa ja tuorekurkkua8728