Hướng dẫn roll dice 1000 times python - lăn xúc xắc 1000 lần trăn

Đây là cho một lớp lập trình sử dụng python2. Hướng dẫn là mô phỏng việc lăn một cặp chết 1000 lần, lưu trữ kết quả trong danh sách và hiển thị tỷ lệ phần trăm thời gian mỗi cuộn xảy ra.

Ví dụ về đầu ra nên là gì:

  • Cuộn 2 27 lần, hoặc 2,7%
  • Cuộn 3 54 lần, hoặc 5,4%
  • Cuộn 4 75 lần, hoặc 7,5%
  • Cuộn 5 101 lần, hoặc 10,1%
  • Cuộn 6 157 lần, hoặc 15,7%

Đây là mã hiện tại của tôi:

#!/usr/bin/python

import random

rolls = [0]*12

for v in range(1000):
d1 = random.randint(1,6)
d2 = random.randint(1,6)
rolls[d1 + d2 -1] += 1

print("Rolled %s %d times, or %.2f %" % (str(rolls)))

Ngay bây giờ tôi đang nhận được "TypeError: Không đủ đối số cho chuỗi định dạng".

Tôi nhận ra rằng tôi cần xác định một tài liệu tham khảo cho %d và %.2f (và tôi nhận ra rằng sử dụng %của %sẽ đi theo cách. sử dụng .format). Tôi không chắc làm thế nào để tham khảo %d và %.2f.

Tôi biết %D cần phải số lượng bao nhiêu lần một số đã được cuộn, nhưng bị mắc kẹt trong cách xác định và tham khảo nó. %.2f cần sử dụng định nghĩa cho số lượng/1000.

Vì vậy, tôi nghĩ trong dòng in của tôi, tôi cần một cái gì đó giống như

print("Rolled %s %d times, or %.2f %" % (str(rolls), count, count/1000))

Bất kỳ cái nhìn sâu sắc/sửa chữa sẽ được đánh giá cao.

Câu hỏi

Sử dụng một vòng lặp để mô phỏng việc lăn của một cặp xúc xắc 1000 lần. 1) Sử dụng chức năng được cung cấp cuộn có tên để mô phỏng việc lăn của một con xúc xắc. 2) Một hàm có tên rolldice để mô phỏng việc cuộn hai con xúc xắc bằng cách gọi hàm cuộn hai lần 3) Đếm số lần mỗi giá trị từ 2 đến 12 xảy ra. Bạn sẽ cần một bộ đếm riêng cho mỗi giá trị. Nếu giá trị là 2, thì tăng bộ đếm của nó. Nếu giá trị là 3, thì hãy tăng bộ đếm của nó, v.v. 4) hiển thị kết quả của từng bộ đếm.
1) Use the function provided named roll to simulate the rolling of a single dice.
2) a function named rollDice to simulate the rolling of two dice by calling the roll function twice
3) Count the number of times each value from 2 to 12 occurred. You will need a separate counter for each value. If the value is 2, then increment its counter. If the value is 3, then increment its counter, etc.
4) Display the result of each of the counters.

Bản tóm tắt

Chúng tôi biết rằng xúc xắc có sáu giai đoạn và có số từ 1 đến 6 ở mỗi giai đoạn. Khi chúng tôi lăn xúc xắc, bất kỳ số nào từ 1 đến 6 đều có thể đến ở trên cùng. Vì vậy, ở đây, chúng tôi sẽ cuộn hai kiểu lại với nhau và chúng tôi nhận được các số ngẫu nhiên trên cả hai bộ dụng cụ từ 1 đến 6. Chúng tôi lấy tổng của cả hai dices làm kết quả. Vì vậy, ở đây chúng tôi đã lăn các di chuyển một nghìn lần. Chúng tôi đã lưu ý các lần xuất hiện của tổng nằm trong khoảng từ 2 đến 12. Chúng tôi phải điều khiển đầu ra dưới dạng tổng từ 2 đến 12 với tần số của chúng.

Giải trình

Để giải quyết câu hỏi này bằng ngôn ngữ C ++, chúng tôi đã xác định một hàm với tên rollthedice () và hàm này sẽ trả về một số nguyên ngẫu nhiên giữa 1 và 6. Hàm này sẽ sử dụng hàm được xác định trước rand () để tạo ngẫu nhiên Các số từ 1 đến 6. Các số nguyên ngẫu nhiên này sẽ hoạt động như số chúng tôi có được khi lăn các bộ. Chúng tôi đã thực hiện tính toán (rand ()%6) để có được kết quả từ 1 đến 6. Nó sẽ tạo số từ 0 đến 5 và chúng tôi sẽ thêm 1 để lấy số từ 1 đến 6. Chúng tôi đã xác định một số khác Chức năng cũng. Hàm này là rollpairdice (), sẽ cung cấp cho chúng ta tổng kết kết quả trên các kiểu. Trong phương thức chính, chúng tôi sẽ khai báo một mảng bộ đếm và chúng tôi sẽ khai báo tất cả các giá trị là 0. Sau đó, chúng tôi sẽ tăng bộ đếm ở mỗi chỉ mục khi xảy ra giá trị đó khi rollpairdice được gọi. Chúng tôi sẽ gọi hàm rollpairdice () một nghìn lần. Và cuối cùng, chúng tôi sẽ in bộ đếm của mỗi giá trị từ 2 đến 12 dưới dạng đầu ra. Chúng tôi sẽ đếm sự xuất hiện của số. Các số lượng thu được sẽ thay đổi mọi lúc, vì sự xuất hiện giá trị xúc xắc là ngẫu nhiên.
The counts obtained will change all the time, since the dice value occurrence is random.

Mã số

#include <iostream>
using namespace std;
#include <stdlib.h>
#include <iomanip>
/* to roll two dice and take their sum */
int rollPairDice(){
/* calling two roll functions */
int sum=rollTheDice()+rollTheDice();
return sum;
}
/* to roll a die randomly */
int rollTheDice(){
/* random value to be between 1 and 6 */
return (rand()%6)+1;
}
/* driver */
int main()
{
/* to store the count of each value */
int freq[13]={0,0,0,0,0,0,0,0,0,0,0,0,0};
for(int i=0;i<1000;i++){
freq[rollPairDice()]++;
}
cout<<left;
/* to display the result */
cout<<setw(8)<<"Value"<<setw(10)<<"Count"<<endl;
for(int i=2;i<=12;i++){
cout<<setw(8)<<i<<setw(10)<<freq[i]<<endl;
}
}

Đầu ra

Cũng đọc, hãy xem xét việc sử dụng thuật toán Mergesort đệ quy để sắp xếp một chuỗi các yếu tố N.Consider the use of the recursive MergeSort algorithm to sort a sequence of n elements.

Permalink

Không thể lấy lại những người đóng góp tại thời điểm này

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

# Listing_23-2.py
# Bản quyền Warren Sande, 2009
# Được phát hành theo giấy phép MIT http://www.opensource.org/licenses/mit-sicense.php
# Phiên bản 61 --------------------------------
# Thay đổi bởi Brian Skinner - Tháng 9 năm 2013
# Cuộn hai xúc xắc sáu mặt 1000 lần.
Hậu thế random
tổng số = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
#Hàm rằng cuộn 2 xúc xắc và trả lại tổng số cuộn của họ
defroll_dice (): roll_dice():
return2 2
foriinrange (1000): i in range(1000):
Dice_total = roll_dice () = roll_dice()
Tổng số [Dice_Total] = Total [Dice_Total] +1[dice_total] = totals[dice_total] + 1
#Tại sao chúng ta đã bỏ qua các điểm 0 và 1?
In "2 đã được cuộn", tổng số [2], "Times" "2 was rolled", totals[2], "times"
In "3 đã được cuộn", tổng số [3], "Times" "3 was rolled", totals[3], "times"
In "4 đã được cuộn", tổng số [4], "Times" "4 was rolled", totals[4], "times"
In "5 đã được cuộn", tổng số [5], "Times" "5 was rolled", totals[5], "times"
In "6 đã được cuộn", tổng số [6], "Times" "6 was rolled", totals[6], "times"
In "7 đã được cuộn", tổng số [7], "Times" "7 was rolled", totals[7], "times"
In "8 đã được cuộn", tổng số [8], "Times" "8 was rolled", totals[8], "times"
In "9 đã được cuộn", tổng số [9], "Times" "9 was rolled", totals[9], "times"
In "10 đã được cuộn", tổng số [10], "Times" "10 was rolled", totals[10], "times"
In "11 đã được cuộn", tổng số [11], "Times" "11 was rolled", totals[11], "times"
In "12 đã được cuộn", tổng số [12], "Times" "12 was rolled", totals[12], "times"

Làm thế nào để bạn lăn một con xúc xắc trong Python 100 lần?

Cấm Python Roll Dice 100 lần mã câu trả lời..
Nhập ngẫu nhiên ..
cuộn = [ngẫu nhiên.Randint (1,6) cho x trong phạm vi (100)].
print(roll).

Làm thế nào để bạn lặp lại một cuộn xúc xắc trong Python?

Sử dụng một vòng để có cuộn xúc xắc liên tục.Trong vòng lặp giữ số lượng bao nhiêu lần mỗi số xuất hiện.Giữ số lượng trong một danh sách.Mỗi số trong danh sách sẽ là một số nguyên.. Within the loop keep a count of how many times each number comes up. Keep the count in a list. Each number in the list will be an integer.

Trình mô phỏng xúc xắc trong Python là gì?

Xúc xắc là một khối đơn giản tạo ra bất kỳ số nào từ 1 đến 6 và trình giả lập xúc xắc là mô hình máy tính cuộn xúc xắc cho người dùng.Một trình giả lập xúc xắc có thể được thực hiện theo những cách khác nhau bởi Python.Sáu hình ảnh sẽ được yêu cầu để tạo ra sẽ được sử dụng trong trình giả lập.a computer model that rolls the dice for the user. A dice rolling simulator can be implemented in different ways by Python. Six images will be required to create that will be used in the simulator.

Là một cuộn chết ngẫu nhiên?

Dice được ném để cung cấp các số ngẫu nhiên cho cờ bạc và các trò chơi khác, và do đó là một loại trình tạo số ngẫu nhiên phần cứng.Kết quả của một cuộn chết là ngẫu nhiên theo nghĩa thiếu dự đoán, không thiếu nguyên nhân.The result of a die roll is random in the sense of lacking predictability, not lacking cause.