Python random satunnaisluku

Anonyymi

Onkos mahdollista saada suoraan random(int-eli kokonaisluku) esim väliltä 100-800, mutta siten että rajattaisiin pois lukualue esim 600-700?

53

1904

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Mikä sitten on suora ja mikä ei. Arvotaan 100–700. Jos tulos on yli 599 arvotaan 701–800. Monella tavallahan tuon voi toteuttaa.

    • Anonyymi

      Arvo 100-700. Jos yli 600, niin lisää 100.

      • Anonyymi

        Tuosta täydet pisteet!


    • Anonyymi

      No joo. Kiitos vastanneille. Noinhan se toimii. Välillä ei säteile :)

      • Anonyymi

        Vielä yksi kysymys. Voiko pythonissa aliohjelmassa(def jotain()) määritellä tai esittää muuttujan johon ei tarvitsisi antaa mitään arvoa? Väistin ongelman käyttämällä global-muuttujaa, mutta ymmärtääkseni niiden käyttö ei olisi kovin suositeltavaa. Eli aliohjelmassa olisi muuttuja joka säilyttäisi arvonsa.


      • Anonyymi
        Anonyymi kirjoitti:

        Vielä yksi kysymys. Voiko pythonissa aliohjelmassa(def jotain()) määritellä tai esittää muuttujan johon ei tarvitsisi antaa mitään arvoa? Väistin ongelman käyttämällä global-muuttujaa, mutta ymmärtääkseni niiden käyttö ei olisi kovin suositeltavaa. Eli aliohjelmassa olisi muuttuja joka säilyttäisi arvonsa.

        Jos pelkillä funktioilla koodaa, niin funktiossa määritellyt muuttujat ei ole hengissä kuin funktiokutsun ajan. Voit tietenkin tuoda niitä paluuarvona ja tallettaa johonkin muualle jemmaan.

        Olioilla on sitten toinen juttu, mutta ehkä ei kannata niitä sotkea tähän nyt.

        Eikä globaaleja muuttujia kannata periaatteen vuoksi kammoksua. Pinomuistiahan ne on perinteisesti kuluttaneet, mutta ei se pyyttonin kanssa ole ns. ongelma, kuten vaikka C-kielellä sählätessä.


      • Anonyymi
        Anonyymi kirjoitti:

        Jos pelkillä funktioilla koodaa, niin funktiossa määritellyt muuttujat ei ole hengissä kuin funktiokutsun ajan. Voit tietenkin tuoda niitä paluuarvona ja tallettaa johonkin muualle jemmaan.

        Olioilla on sitten toinen juttu, mutta ehkä ei kannata niitä sotkea tähän nyt.

        Eikä globaaleja muuttujia kannata periaatteen vuoksi kammoksua. Pinomuistiahan ne on perinteisesti kuluttaneet, mutta ei se pyyttonin kanssa ole ns. ongelma, kuten vaikka C-kielellä sählätessä.

        Joskus globaali muuttuja on hyvä ratkaisu. Siis joskus. Mutta pinomuistia ne eivät perinteisesti kuluta C-kielisessä koodissa ja tuskin missään muussakaan.

        Eikö pyyttonissa ole vastinetta C-kielen static-määreelle?


      • Anonyymi
        Anonyymi kirjoitti:

        Joskus globaali muuttuja on hyvä ratkaisu. Siis joskus. Mutta pinomuistia ne eivät perinteisesti kuluta C-kielisessä koodissa ja tuskin missään muussakaan.

        Eikö pyyttonissa ole vastinetta C-kielen static-määreelle?

        Tiedätkö edes mikä on pinomuisti?


    • Anonyymi

      Voit aina tehdä mielivaltaisen listan halutuista arvoista ja arpoa randint(0,len(lista)-1):llä
      indeksin.

      Ja sample-komennolla saat eripituisia näytteitä listastasi. Kätevä vaikka korttipeleissä.

      • Anonyymi

        Pappa betalar maksaa muistin?

        Shufflella ne listat yleensä arvotaan, jos korttia pelataan. Mutta kukin tyylillään.


      • Anonyymi
        Anonyymi kirjoitti:

        Pappa betalar maksaa muistin?

        Shufflella ne listat yleensä arvotaan, jos korttia pelataan. Mutta kukin tyylillään.

        Montako % tuo veisi 16Gt:n muistista?


      • Anonyymi
        Anonyymi kirjoitti:

        Pappa betalar maksaa muistin?

        Shufflella ne listat yleensä arvotaan, jos korttia pelataan. Mutta kukin tyylillään.

        Olisit pitänyt suusi kiinni kun et asiasta mitään ymmärrä;

        shuf on Bash Shell komento ja pythonin random-kirjastoon kuuluva shuffle-komento sekoittaa listan alkiot.


      • Anonyymi
        Anonyymi kirjoitti:

        Olisit pitänyt suusi kiinni kun et asiasta mitään ymmärrä;

        shuf on Bash Shell komento ja pythonin random-kirjastoon kuuluva shuffle-komento sekoittaa listan alkiot.

        Hah hah. Räkänokka ei tiedä näköjään mistään mitään, eikä osaa edes lukea. Aloittaja kysyi kuinka saadaan yksi satunnaisluku. Tuo yksi tampio alkoi tekemään jotain listoja ja vielä käyttämään niitä päin persettä. Sekoitushommiin käytetään shuffle-funktiota. Se ei ole mikään "komento". Selviä reppana itsellesi perusteet.


      • Anonyymi
        Anonyymi kirjoitti:

        Hah hah. Räkänokka ei tiedä näköjään mistään mitään, eikä osaa edes lukea. Aloittaja kysyi kuinka saadaan yksi satunnaisluku. Tuo yksi tampio alkoi tekemään jotain listoja ja vielä käyttämään niitä päin persettä. Sekoitushommiin käytetään shuffle-funktiota. Se ei ole mikään "komento". Selviä reppana itsellesi perusteet.

        Hönö olisi voinut samalla kertoa mitä hönöt ymmärtää termillä "komento", niin tietysti jos hönöllä olisi jokin käsitys tietotekniikan termeistä yleensäkään.


      • Anonyymi
        Anonyymi kirjoitti:

        Hönö olisi voinut samalla kertoa mitä hönöt ymmärtää termillä "komento", niin tietysti jos hönöllä olisi jokin käsitys tietotekniikan termeistä yleensäkään.

        On se saatana kun ei perusasioita edes osaa nämä nykyajan räkänokat. Seuraavaksi tuo yksi tampio esittänee shuf:in olevan bashin metodi.


      • Anonyymi
        Anonyymi kirjoitti:

        Hah hah. Räkänokka ei tiedä näköjään mistään mitään, eikä osaa edes lukea. Aloittaja kysyi kuinka saadaan yksi satunnaisluku. Tuo yksi tampio alkoi tekemään jotain listoja ja vielä käyttämään niitä päin persettä. Sekoitushommiin käytetään shuffle-funktiota. Se ei ole mikään "komento". Selviä reppana itsellesi perusteet.

        Vastauksesi oli päin persettä, lukuun ottamatta tätä, jonka kopioit minun viestistä.

        Sekoitushommiin käytetään shuffle-funktiota.

        Ja tuonkin olisit voinut kirjoittaa asiantuntevammin vaikka kopioimalla suoraan lauseen minun viestistä.


      • Anonyymi
        Anonyymi kirjoitti:

        Vastauksesi oli päin persettä, lukuun ottamatta tätä, jonka kopioit minun viestistä.

        Sekoitushommiin käytetään shuffle-funktiota.

        Ja tuonkin olisit voinut kirjoittaa asiantuntevammin vaikka kopioimalla suoraan lauseen minun viestistä.

        Heh heh. Stupido kuuli nyt ensimmäisen kerran sanan "shuffle" ja kuvittelee sen nyt itse keksineensä.

        Mene vatipää tekemään niitä satunnaisia listojasi ja leikkaamaan sieltä siivuja korttipeleihisi.


      • Anonyymi
        Anonyymi kirjoitti:

        Heh heh. Stupido kuuli nyt ensimmäisen kerran sanan "shuffle" ja kuvittelee sen nyt itse keksineensä.

        Mene vatipää tekemään niitä satunnaisia listojasi ja leikkaamaan sieltä siivuja korttipeleihisi.

        Hönöistäkin hönömpi hönö lopeta tuo lässyttäminen.


      • Anonyymi
        Anonyymi kirjoitti:

        Heh heh. Stupido kuuli nyt ensimmäisen kerran sanan "shuffle" ja kuvittelee sen nyt itse keksineensä.

        Mene vatipää tekemään niitä satunnaisia listojasi ja leikkaamaan sieltä siivuja korttipeleihisi.

        Buahaahaa, buahaahaa, pääsikö itku?


      • Anonyymi

        Muahahaha! Lääkärikö sinut, jumin, on "opettanut" "koodaamaan"?

        Ei näköjään eri väriset nappulat ole saaneet yhtään älyä päähän.

        Näille tampiolle on hauska repeillä.


      • Anonyymi
        Anonyymi kirjoitti:

        Muahahaha! Lääkärikö sinut, jumin, on "opettanut" "koodaamaan"?

        Ei näköjään eri väriset nappulat ole saaneet yhtään älyä päähän.

        Näille tampiolle on hauska repeillä.

        Voi vittu miten hölmö sinä olet, :-)


      • Anonyymi
        Anonyymi kirjoitti:

        Hönö olisi voinut samalla kertoa mitä hönöt ymmärtää termillä "komento", niin tietysti jos hönöllä olisi jokin käsitys tietotekniikan termeistä yleensäkään.

        Vaikutat Debianistiltä, ainakin samassa hengessä kirjoitta. Oliko se sinulla tuo reikäinen Debian ollut jo 27 vuotta 4 kuukautta 13 päivää, tai jotain semmoista.


    • Anonyymi

      Alkuperäiseen kysymykseen. Paras ratkaisu on, että jos luku on liian iso, liian pieni tai karsitulta väliltä, arvotaan vain uusi luku. Näin olen aina tehnyt.

      • Anonyymi

        Vie turhaan laskentatehoa. Paskaa koodia ei kannata tehdä edes tahallaan.


      • Anonyymi

        Sehän on ihan hyvä ja tehokas tapa tuottaa tarvittava määrä haluttuja lukuja.


      • Anonyymi
        Anonyymi kirjoitti:

        Sehän on ihan hyvä ja tehokas tapa tuottaa tarvittava määrä haluttuja lukuja.

        Nauriin älyllä varustettu jumi pitää housuun kusemistakin tehokkaana tapana lämmittää.


      • Anonyymi
        Anonyymi kirjoitti:

        Nauriin älyllä varustettu jumi pitää housuun kusemistakin tehokkaana tapana lämmittää.

        Ottasit vain nyt ne lääkkeesi ja menisit huisin-nevadaan lässyttämästä.


      • Anonyymi
        Anonyymi kirjoitti:

        Ottasit vain nyt ne lääkkeesi ja menisit huisin-nevadaan lässyttämästä.

        Räkänokka jumi tulee henkselit paukutellen esittämään tyhmyyttään, ja nyt sitten imeskelee hymyään perseeseen. Miten noin muuten tuntuu olla jumi?


      • Anonyymi
        Anonyymi kirjoitti:

        Räkänokka jumi tulee henkselit paukutellen esittämään tyhmyyttään, ja nyt sitten imeskelee hymyään perseeseen. Miten noin muuten tuntuu olla jumi?

        Eihän tuollaiselle siittiölle voi muuta kuin nauraa, pillittää koko ajan jostain hulluista jutuistaan.


      • Anonyymi
        Anonyymi kirjoitti:

        Räkänokka jumi tulee henkselit paukutellen esittämään tyhmyyttään, ja nyt sitten imeskelee hymyään perseeseen. Miten noin muuten tuntuu olla jumi?

        Hellan tuuteli että pikkuista suututtaa, Buahaahaa.


    • Anonyymi

      Kiitoksia ideoista. Avasi uusia näkökulmia.
      Aloittaja.

      • Anonyymi

        Random kirjaston sample-komento on paras. Sillä onnistuu kaikki nopeasti ja aina oikein. Eikä muistia tuhlaannu.


      • Anonyymi
        Anonyymi kirjoitti:

        Random kirjaston sample-komento on paras. Sillä onnistuu kaikki nopeasti ja aina oikein. Eikä muistia tuhlaannu.

        Pyöräytä niskat ympäri, niin ei tarvitse enää tuota paskaa kuunnella.


      • Anonyymi
        Anonyymi kirjoitti:

        Random kirjaston sample-komento on paras. Sillä onnistuu kaikki nopeasti ja aina oikein. Eikä muistia tuhlaannu.

        Olen täysin samaa mieltä, näin ammattilaiset koodaavat.

        from random import sample
        list1 = [1, 2, 3, 4, 5]
        print(sample(list1,3))

        OUT: [2, 3, 5]

        Tuo latvalaho tuossa välissä, joutaa huisin-nevadaan lässyttämästä.


      • Anonyymi
        Anonyymi kirjoitti:

        Olen täysin samaa mieltä, näin ammattilaiset koodaavat.

        from random import sample
        list1 = [1, 2, 3, 4, 5]
        print(sample(list1,3))

        OUT: [2, 3, 5]

        Tuo latvalaho tuossa välissä, joutaa huisin-nevadaan lässyttämästä.

        Hah hah. Nauriin äly tuli taas rakentelmaan listojaan, kun pyydetään yhtä satunnaislukua

        Vanhempasi ovat olleet näemmä paskajonossa, kun kakaroille on jaettu aivoja.


      • Anonyymi
        Anonyymi kirjoitti:

        Hah hah. Nauriin äly tuli taas rakentelmaan listojaan, kun pyydetään yhtä satunnaislukua

        Vanhempasi ovat olleet näemmä paskajonossa, kun kakaroille on jaettu aivoja.

        Näin se on, ei sinua täällä kukaan kaipaa, hopi hopi.


      • Anonyymi
        Anonyymi kirjoitti:

        Näin se on, ei sinua täällä kukaan kaipaa, hopi hopi.

        Kerros lanttuaivo miten tuo listasi liittyy satunnaislukuihin. Muahahaha!


      • Anonyymi
        Anonyymi kirjoitti:

        Olen täysin samaa mieltä, näin ammattilaiset koodaavat.

        from random import sample
        list1 = [1, 2, 3, 4, 5]
        print(sample(list1,3))

        OUT: [2, 3, 5]

        Tuo latvalaho tuossa välissä, joutaa huisin-nevadaan lässyttämästä.

        Hieno satunnaisluku. Entä jos haluan 2,54?


      • Anonyymi
        Anonyymi kirjoitti:

        Hieno satunnaisluku. Entä jos haluan 2,54?

        list1 = [1, 2.54, 3, 4, 5]
        print(list[1])


      • Anonyymi
        Anonyymi kirjoitti:

        list1 = [1, 2.54, 3, 4, 5]
        print(list[1])

        Kiitos. Tuo on hyvä satunnaisluku, koska sitä voi käyttää tuuman kertoimena.


    • Anonyymi

      98 merkkiä olisi ollut ratkaisun pituus.

      • Anonyymi

        Jopa on pitkä yhden satunnaisuluvun saamiseksi.

        Kuvaputkiaikaan tsekattiin elektronisuihkun positio. Sitä pidettiin riittävän satunnaisena.


      • Anonyymi
        Anonyymi kirjoitti:

        Jopa on pitkä yhden satunnaisuluvun saamiseksi.

        Kuvaputkiaikaan tsekattiin elektronisuihkun positio. Sitä pidettiin riittävän satunnaisena.

        Ei missään nimessä pitkä, nerokas se kyllä on, pois suljettuja alueita on helppo lisätä.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei missään nimessä pitkä, nerokas se kyllä on, pois suljettuja alueita on helppo lisätä.

        Jos niitä joutuu erikseen lisäämään, niin ratkaisu on työläs.


      • Anonyymi
        Anonyymi kirjoitti:

        Jos niitä joutuu erikseen lisäämään, niin ratkaisu on työläs.

        Ei tarvitse erikseen lisätä, ratkaisu on niin nerokas että se hoituu automaattisesti, näin laiskempikin jaksaa pysyä mukana.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei tarvitse erikseen lisätä, ratkaisu on niin nerokas että se hoituu automaattisesti, näin laiskempikin jaksaa pysyä mukana.

        Haluan pois välistä luvut 202, 333 ja 557, koska ne eivät ole onnenlukujani.


      • Anonyymi
        Anonyymi kirjoitti:

        Haluan pois välistä luvut 202, 333 ja 557, koska ne eivät ole onnenlukujani.

        Onnistuu, erinomainen skriptini pystyy huomioimaan myös negatiiviset luvut.


    • Anonyymi

      Tässä yksi metodi, joka kenties yleistyy muunlaisiinkin tilanteisiin (esim. useampi ulotteinen): https://pastebin.com/DSKr9NP4

      Siinä luodaan aluksi joukosta ns. todennäköisyysfunktio, jonka avulla sitten tavallisesta [0,1) -välille (jatkuvasti) tasajakautuneesta luvusta etsitään vastaava haluttu satunnaisluku. Tämähän on kumulatiivisen distribuutiofunktion käänteisfunktio!

      Laitoin tuohon testiin pienemmät luvut, mutta näin saisi joukolle [100...800] \ [600-700]

      F = normalisedCumu([1]*500 [0]*101 [1]*100)

      Jos joukko on kovin iso, niin tässä on aluksi todennäköisyysfunktion luomisessa vähän tekemistä ja se vie muistia, mutta sen jälkeen satunnaisen generoiminen on logaritmis-aikaista joukon rajojen erotuksesta.

    • Anonyymi

      Eikö kukaan osaa auttaa?

      • Anonyymi

        Lue ketju ajatuksella läpi, niin saat vastauksen.


      • Anonyymi

        Ei täällä, emme ole lääkäreitä, mielenterveyden häiriöt ovat suurin työelämästä syrjäyttävä sairausryhmä.


    • Anonyymi

      Kyllä, se on mahdollista. Voit käyttää Pythonin random-moduulia ja siihen kuuluvaa randint-funktiota. Voit esimerkiksi määritellä lukualueen, jonka haluat poissulkea, ja käyttää sitä argumenttina randint-funktiossa. Tässä esimerkki siitä, miten se tehdään:

      import random

      # Luodaan lukualue 100-800 ja poissuljetaan lukualue 600-700
      random_int = random.randint(100, 800)
      while random_int >= 600 and random_int <= 700:
      random_int = random.randint(100, 800)

      print(random_int)

      • Anonyymi

        Esimerkkisi on hyvä esimerkki siitä, miten tehtävää ei pidä ratkaista. Edellä oli esitetty aivan oikeakin ratkaisumalli.


    Ketjusta on poistettu 6 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos

      Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä
      Maailman menoa
      74
      2502
    2. Jos ottaisit yhteyttä, näyttäisin viestin kaikille

      Yhdessä naurettaisiin sulle. Ymmärräthän tämän?
      Ikävä
      172
      1802
    3. Heikki Silvennoinen ( Kummeli)

      Kuollut 70-vuotiaana. Kiitos Heikille hauskoista hetkistä. Joskus olen hymyillyt kyynelten läpi. Sellaista se elämä on
      Kotimaiset julkkisjuorut
      74
      1474
    4. Mikä saa ihmisen tekemään tällaista?

      Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?
      Sinkut
      246
      1467
    5. Pelotelkaa niin paljon kuin sielu sietää.

      Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda
      Maailman menoa
      267
      1465
    6. Minkä merkkisellä

      Autolla kaivattusi ajaa? Mies jota kaipaan ajaa Mersulla.
      Ikävä
      85
      1292
    7. IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!

      Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel
      Maailman menoa
      392
      1255
    8. Kauanko valitatte yöpäivystyksestä?

      Miks tosta Oulaisten yöpäivystyksen lopettamisesta tuli nii kova myrsky? Kai kaikki sen ymmärtää että raha on nyt tiuk
      Pyhäjärvi
      343
      1232
    9. Nyt kun Pride on ohi 3.0

      Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että
      Luterilaisuus
      368
      1208
    10. Mitä toivot

      ensi vuodelta? :)
      Ikävä
      128
      1185
    Aihe