Bài 24
Đề bài: Mô phỏng luat số lon.
Tung dong xu n lan, theo doi ti le mat ngua sau moi 100 lan.
Ve do thì hoi từ ve 0.5 bằng ky từ ASCII.
Ví dụ: n = 1000
Kết quả:
n=100: Ti le = 52.0% |=====================>
n=200: Ti le = 49.5% |====================>
...
n=1000: Ti le = 50.1% |====================>
Cuoi cung hoi từ ve 50%
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
import random
n = int(input("Tong so lan tung: "))
buoc = max(1, n // 20)
dem_ngua = 0
print(f"\n{'Lan':>6} {'Ti le':>7} Do thi")
print("-" * 50)
for i in range(1, n + 1):
dem_ngua += random.randint(0, 1)
if i % buoc == 0 or i == n:
ti_le = dem_ngua / i * 100
do_dai_bar = int(ti_le / 2)
bar = "=" * do_dai_bar
print(f"{i:>6} {round(ti_le,1):>6}% |{bar}")
ti_le_cuoi = dem_ngua / n * 100
print(f"\nKet qua: {dem_ngua} mat ngua / {n} lan = {round(ti_le_cuoi,2)}%")
print(f"Ly thuyet: 50.0% | Sai so: {round(abs(ti_le_cuoi-50),2)}%")