Randomness and simulation · Keacakan dan simulasi
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).
Apa yang akan kita lakukan
- Beberapa program memerlukan peluang, seperti permainan atau eksperimen.
- Python dapat membuat angka acak untuk kita.
- Kita juga akan membangun simulasi kecil (model dari sesuatu yang nyata).
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.
Import random
- Alat-alat acak berada di dalam module bernama
random. - Tulis
import randomdi bagian atas program Anda. - Kemudian Anda dapat menggunakan fungsinya, seperti
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)memberikan bilangan bulat dariahinggab.- Kedua ujung termasuk:
randint(1, 6)bisa1,6, atau apa pun di antaranya. - Jalankan lagi dan Anda mungkin mendapatkan angka yang berbeda.
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.
Angka sama dengan seed
- Sebuah seed menetapkan titik mulai acak.
- Dengan seed yang sama, Anda mendapatkan angka yang sama setiap kali.
- Ini berguna untuk pengujian, sehingga hasil dapat diulang.
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.
Simulasi kecil
- Sebuah simulasi memodelkan proses nyata dengan kode.
- Di sini kita memodelkan pelemparan koin berkali-kali dan menghitung jumlah sisi depan.
- Menjalankan banyak percobaan membantu kita melihat pola jangka panjang.
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).
Dalam pseudocode AP CSP
- Ujian menulis angka acak dengan
RANDOM. RANDOM(a, b)memberikan bilangan bulat dariahinggab, ide yang sama denganrandom.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.
Kesalahan umum
- Simulasi menggunakan nilai acak untuk memodelkan peluang.
- Jalankan berkali-kali untuk melihat pola keseluruhan.
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.
Sekarang Anda coba
- Beberapa tugas memeriksa sifat (seperti "lemparan antara 1 dan 6").
- Beberapa tugas menggunakan seed agar output tetap sama setiap kali.
- Tekan Periksa jawaban untuk menguji kode Anda.
Write roll_die() (no parameters) that returns a random whole number from 1 to 6 using random.randint. Remember import random. · Tulis roll_die() (tanpa parameter) yang mengembalikan bilangan bulat acak dari 1 hingga 6 menggunakan random.randint. Ingat import random.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Write roll_two() that rolls two dice (each 1 to 6) and returns their total. The total is always between 2 and 12. · Tulis roll_two() yang melempar dua dadu (masing-masing 1 hingga 6) dan mengembalikan totalnya. Total selalu berada antara 2 hingga 12.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
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. · Salin persis ini: tetapkan random.seed(7), lalu lempar koin 20 kali menggunakan random.randint(0, 1) (1 berarti mata, hitung jumlah mata, lalu print angka tersebut. Dengan seed ini, jawabannya selalu sama.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.