Randomness and simulation · Aleatoriedade e simulação
What we'll do
- Some programs need chance, like games or experiments.
- Python can make random numbers for us.
- We will also build a tiny simulation (a model of something real).
O que faremos
- Alguns programas precisam de azar, como jogos ou experimentos.
- O Python pode gerar números aleatórios para nós.
- Também construiremos uma pequena simulação (um modelo de algo real).
Import random
- The random tools live in a module named
random. - Write
import randomat the top of your program. - Then you can use its functions, like
random.randint.
Importar random
- As ferramentas aleatórias vivem em um módulo chamado
random. - Escreva
import randomno topo do seu programa. - Então você pode usar suas funções, como
random.randint.
import random
number = random.randint(1, 6)
print(number)
random.randint(a, b)
random.randint(a, b)gives a whole number fromatob.- Both ends are included:
randint(1, 6)can be1,6, or anything between. - Run it again and you may get a different number.
random.randint(a, b)
random.randint(a, b)dá um número inteiro deaab.- Ambas as extremidades são incluídas:
randint(1, 6)pode ser1,6ou qualquer coisa entre eles. - Execute novamente e pode obter um número diferente.
import random
for i in range(3):
print(random.randint(1, 6))
Same numbers with a seed
- A seed sets the random start point.
- With the same seed, you get the same numbers every time.
- This is useful for testing, so results can be repeated.
Mesmos números com uma semente
- Uma semente define o ponto inicial aleatório.
- Com a mesma semente, você obtém os mesmos números sempre.
- Isso é útil para testes, para que os resultados possam ser repetidos.
import random
random.seed(42)
print(random.randint(1, 6))
print(random.randint(1, 6))
A tiny simulation
- A simulation models a real process with code.
- Here we model flipping a coin many times and counting heads.
- Running many trials helps us see the long-run pattern.
Uma simulação pequena
- Uma simulação modela um processo real com código.
- Aqui modelamos jogar uma moeda muitas vezes e contar coroas.
- Executar muitos ensaios nos ajuda a ver o padrão de longo prazo.
import random
random.seed(1)
heads = 0
for i in range(10):
flip = random.randint(0, 1) # 0 = tails, 1 = heads
if flip == 1:
heads = heads + 1
print(heads)
In AP CSP pseudocode
- The exam writes random numbers with
RANDOM. RANDOM(a, b)gives a whole number fromatob, the same idea asrandom.randint(a, b).
Em pseudocódigo AP CSP
- O exame escreve números aleatórios com
RANDOM. RANDOM(a, b)dá um número inteiro deaab, a mesma ideia derandom.randint(a, b).
roll ← RANDOM(1, 6)
DISPLAY(roll)
Common mistakes
- A simulation uses random values to model chance.
- Run it many times to see the overall pattern.
Erros comuns
- Uma simulação usa valores aleatórios para modelar o acaso.
- Execute muitas vezes para ver o padrão geral.
Now you try
- Some tasks check a property (like "the roll is between 1 and 6").
- Some tasks use a seed so the output is the same every time.
- Press Check answer to test your code.
Agora você tenta
- Algumas tarefas verificam uma propriedade (como "o dado está entre 1 e 6").
- Algumas tarefas usam uma semente para que a saída seja a mesma sempre.
- Clique em Check answer para testar seu código.
Write roll_die() (no parameters) that returns · decrescentes a random whole number from 1 to 6 using random.randint. Remember import random. · Escreva roll_die() (sem parâmetros) que retorne um número inteiro aleatório de 1 a 6 usando random.randint. Lembre-se de import random.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Write roll_two() that rolls two dice (each 1 to 6) and returns · decrescentes their total. The total is always between 2 and 12. · Escreva roll_two() que jogue dois dados (cada 1 a 6) e retorne a soma deles. A soma está sempre entre 2 e 12.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Copy this exactly: set random.seed(7), then flip a coin 20 times with random.randint(0, 1) (1 means heads), count the heads, and print the count. With this seed the answer is always the same. · Copie exatamente isto: defina random.seed(7), depois jogue uma moeda 20 vezes com random.randint(0, 1) (1 significa cara), conte as caras, e print a contagem. Com esta semente a resposta é sempre a mesma.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.