Mulai sekarangMulai gratis

Lempar dadu

Mari membuat generator tak hingga! Tugas Anda adalah mendefinisikan generator simulate_dice_throws(). Generator ini menghasilkan hasil lemparan dadu 6-sisi dalam bentuk kamus out. Setiap kunci adalah kemungkinan hasil (1, 2, 3, 4, 5, 6). Setiap nilai adalah sebuah daftar: nilai pertama adalah jumlah realisasi suatu hasil dan nilai kedua adalah rasio realisasi terhadap jumlah lemparan keseluruhan total. Contoh (ketika total = 4):

{
  1: [2, 0.5],
  2: [1, 0.25],
  3: [1, 0.25],
  4: [0, 0.0],
  5: [0, 0.0],
  6: [0, 0.0]
}

Kiat: gunakan fungsi randint() dari modul random (sudah diimpor). Fungsi ini menghasilkan bilangan bulat acak dalam interval yang ditentukan (mis. randint(1, 2) bisa bernilai 1 atau 2).

Latihan ini merupakan bagian dari kursus

Berlatih Pertanyaan Wawancara Coding di Python

Lihat Kursus

Instruksi latihan

  • Simulasikan satu kali lemparan untuk mendapatkan angka baru.
  • Perbarui jumlah dan rasio realisasi.
  • Keluarkan (yield) kamus yang telah diperbarui.
  • Buat generator dan simulasikan 1000 lemparan.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def simulate_dice_throws():
    total, out = 0, dict([(i, [0, 0]) for i in range(1, 7)])
    while True:
        # Simulate a single toss to get a new number
        num = ____
        total += 1
        # Update the number and the ratio of realizations
        out[num][0] = ____
        for j in range(1, 7):
        	out[j][1] = round(____/____, 2)
        # Yield the updated dictionary
        ____

# Create the generator and simulate 1000 tosses
dice_simulator = ____
for i in range(1, 1001):
    print(str(i) + ': ' + str(____(____)))
Edit dan Jalankan Kode