Python genererer en tilfeldig boolsk verdi

Python genererer en tilfeldig boolsk verdi

En RNG eller tilfeldig tallgenerator er noe som brukes av mange programmer av forskjellige grunner. Imidlertid ønsker brukeren ofte å implementere en boolsk generator. For å gjøre dette, kan brukeren bruke BOOL () -metoden for å konvertere utgangen fra den tilfeldige tallgeneratoren til boolske verdier. Denne BOOL () -metoden kan brukes ved siden av GetRandBits () -metoden, valg () -metoden og den tilfeldige () -funksjonen innenfor en betinget uttalelse.

Dette innlegget vil inneholde følgende innhold:

  • Metode 1: Bruke getRandBits () -metoden for å generere boolske verdier
  • Metode 2: Bruke valg () -metoden for å generere boolske verdier
  • Metode 3: Bruke den tilfeldige () metoden med IF-kondisjon for å generere boolske verdier
  • Metode 4: Bruke Randint () -metoden for å generere boolske verdier

La oss starte med den første metoden.

Metode 1: Bruke getRandBits () -metoden for å generere boolske verdier

GetRandBits () brukes til å generere biter, i utgangspunktet heltallverdier, innenfor et område som er spesifisert i argumentet til denne metoden. Med denne metoden kan brukeren stille området til 1, noe som vil bety at den bare kan generere enten en 0 eller en 1, og deretter bruke bool () -metoden for å konvertere heltallet til det boolske ekvivalent. For å bruke denne metoden, må brukeren imidlertid importere "tilfeldig" -pakken.

For å demonstrere denne metoden for å generere tilfeldig boolsk verdi, ta følgende kodebit:

importere tilfeldig
randint = (tilfeldig.getrandbits (1))
Randbool = bool (Randint)
Print (Randbool)

Når dette kodebiten utføres, gir det følgende resultat på terminalen:

Bildet ovenfor inneholder utgangen fra flere utførelser av koden, og bekrefter at en tilfeldig boolsk genereres på hver utførelse.

Merk: GetRandBits () -metoden er den raskeste metoden for dette innlegget for å generere tilfeldige boolske verdier.

Metode 2: Bruke valg () -metoden for å generere boolske verdier

Valget () fra den "tilfeldige" pakken brukes til å velge en tilfeldig verdi fra en liste over verdier (strenger, tuples, lister og mer). Denne metoden kan brukes til å velge mellom ekte og usant ved å gi dem i en liste, eller for å velge mellom 0 og 1 og deretter konvertere den til en boolsk ved hjelp av Bool () -metoden.

For å demonstrere arbeidet med valg () -metoden for å generere tilfeldige boolske verdier, ta en titt på følgende kodebit:

importere tilfeldig
randbool = tilfeldig.valg ([sann, falsk])
Print (Randbool)

Ved utførelse vises følgende resultat på terminalen:

Utgangen verifiserer at en tilfeldig boolsk verdi ble generert. Alternativt, for den andre tilnærmingen med bruk av valg () -metoden, kan du ta en titt på det undergitte kodebiten:

importere tilfeldig
randint = tilfeldig.valg ([0,1])
Randbool = bool (Randint)
Print (Randbool)

Når dette kodebiten utføres, viser det følgende resultat på terminalen:

Utgangen er virkelig en tilfeldig boolsk generert på hver utførelse av koden.

Metode 3: Bruke den tilfeldige () metoden med IF-kondisjon for å generere boolske verdier

Den tilfeldige () metoden kan også brukes til å generere tilfeldige boolske verdier. Imidlertid bruker de fleste av brukerne det feil. Brukerne tar utgangen fra den tilfeldige () metoden og gir den deretter til Bool () -metoden for å konvertere den verdien til en boolsk. Utgangen er faktisk en boolsk verdi, men de skapte en partisk tilfeldig boolsk verdegenerator ved å bruke feil tilnærming.

Den tilfeldige () metoden produserer flytende punktverdier mellom 0 og 1, og brukere multipliserer den med 10 for å få verdien i heltall. Men verdiene varierer da fra 0 til 10. Når denne verdien blir konvertert til en bool, gir den "falsk" for bare "0". Dette betyr at det er 90% sannsynlighet for at svaret kommer til å være sant. Dermed en partisk tilfeldig boolsk generator.

For riktig, bruk den tilfeldige () metoden for å generere boolske verdier, bruk en IF-betingelse som dette:

importere tilfeldig
randbool = tilfeldig.tilfeldig ()> 0.5
Print (Randbool)

I dette kodebiten sjekker tilstanden om verdien som genereres av den tilfeldige () metoden er over 0.5 eller ikke. Basert på dette returnerer det sant eller usant, og oppnår 50% sjanse til å lande sann eller falsk. Ved utførelse er følgende resultatet:

Metode 4: Bruke Randint () -metoden for å generere boolske verdier

Randint () -metoden brukes til å generere en tilfeldig heltallverdi fra et gitt område. Hvis det medfølgende området bare er 0 og 1, og utgangen fra denne metoden føres inn i BOOL () -metoden, vil den fungere som en tilfeldig boolsk generator:

importere tilfeldig
randint = tilfeldig.Randint (0,1)
Randbool = bool (Randint)
Print (Randbool)

Når denne koden utføres, produserer den følgende utgang på terminalen:

Utgangen er en tilfeldig generert boolsk verdi for hver utførelse av denne koden.

Konklusjon

Å generere tilfeldige boolske verdier kan være nyttig i ganske mange oppgaver, spesielt når du bygger et RNG -system. For å gjøre dette kan brukeren bruke forskjellige metoder () i kombinasjon, for eksempel GetRandBits (), Choice (), Random () og Randint () -metoden med BOOL () -metoden. Dette innlegget har vist bruken av disse metodene.