testovac.sk

Náhodné čísla

Náhodné čísla sa nám v programoch hodia napríklad pri generovaní náhodných udalostí v hrách (spawn na náhodnom mieste, náhodný item ako odmena, náhodné rozlosovanie tímov) ale aj pri generovaní hesiel alebo pri losovaní súperov v turnajoch. V našom Python-ovom programe môžeme generovať náhodné čísla použitím knižnice random a jej funkcie random.randint(1,10), ktorá vygeneruje náhodné celé číslo v zadanom intervale, v tomto prípade napríklad od 1 po 10 (vrátane). Vygenerovanú hodnotu si môžeme uložiť do premennej a ďalej s ňou pracovať. Nezabudni na začiatoku svojho programu pridať knižnicu random pomocou riadku import random, potom môžeš používať príkaz random.randint(2,20) koľko len potrebuješ (samozrejme so správne nastavenými čislami od-do).

Ukážka použitia knižnice random a funkcie random.randint() na simuláciu hodu štandardnou hracou kockov.

import random

cisloNaKocke = random.randint(1, 6)
print("Na kocke padla", cisloNaKocke)

Baliček random toho ponúka viac ako len generovanie náhodných celých čísel. Z ponuky sa vám môže hodiť ešte nasledovné:

import random
# do premennej "a" tieto prikazy priradia nasledovne...

# náhodné číslo z intervalu [1, 10]
a = random.randint(1, 10)

# náhodnú hodnotu zo zoznamu (hodí sa napríklad pre výber farby)
a = random.choice(["red", "green", "blue"])

# náhodné desatinné číslo z intervalu [0, 1]
a = random.random()

Prehľad ďalších funkcií, ktoré poskytuje balíček random nájdete v oficálnej dokumentácii Pythonu alebo (a možno o čosi prehľadnejšie) na stránkach W3 schools

Úplne náhodná farba

# viacerým útvarom môžeme nastaviť konkrétnu farbu uvedením jej mena ako hodnoty
# pre parameter fill, napríklad "red" alebo "blue" alebo "gold"
canvas.create_rectangle(50, 70, 220, 150, fill="green")

# farbu môžeme uviesť v hexadecimálnom zápise
# ako #RRGGBB, napríklad #FF0000 je červená
canvas.create_rectangle(50, 70, 220, 150, fill="#03AACC")

# hexadecimálny zápis môžeme generovať náhodne..
randomFillColor = f"#{random.randint(0,256**3-1):0{6}X}"
canvas.create_rectangle(50, 70, 220, 150, fill=randomFillColor)

Úlohy