Inteiros, doubles, escolhas e strings aleatórias via biblioteca C do sistema.
import random
msvcrt.dll no Windows, libc.so.6 em sistemas tipo Unix), semeando o gerador uma vez na importação.
Um inteiro aleatório não-negativo do rand() do runtime C.
get_random_int() -- Saída: (algum inteiro aleatório) -- uma rolagem de dado em [1, 6] 1 + (get_random_int() % 6) -- Saída: (1 a 6)
Um double aleatório no intervalo [0, 1).
get_random_double() -- Saída: (ex.: 0.4172...)
Um int aleatório ou um double aleatório, escolhido ao acaso.
get_random_number() -- Saída: (um int ou um double)
Um elemento uniformemente aleatório de uma lista (ou conjunto).
random_choice(["maçã", "banana", "cereja"]) -- Saída: (uma das três)
Uma string alfanumérica aleatória do comprimento pedido.
get_random_string(10) -- Saída: "aB3xK9mP2q" (exemplo)
Combine seleção e geração de números para construir um gerador de dados de exemplo:
import random
import strings
first_names = ["Ana", "Bob", "Cia", "Dan"]
def random_user() do
name = random_choice(first_names)
age = 18 + (get_random_int() % 50)
id = get_random_string(6)
return name + " (" + from_int(age) + ") #" + id
end
random_user()
-- Saída: "Cia (34) #k2Mx9q" (exemplo)
Ou sorteie repetidamente um índice aleatório - aqui escolhendo três amostras:
import core import random deck = [1..52] hand = map([1..3], \_ -> random_choice(deck)) hand -- Saída: [27, 4, 51] (exemplo)