Roll Analysis

\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors) \newcommand\bs[1]{\mathbf{#1}}\\% Poor man's siunitx \newcommand\unit[1]{\mathrm{#1}} \newcommand\num[1]{#1} \newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/} \newcommand\squared{{}^2} % % Scale \newcommand\milli{\unit{m}} \newcommand\centi{\unit{c}} \newcommand\kilo{\unit{k}} \newcommand\mega{\unit{M}} % % Angle \newcommand\radian{\unit{rad}} \newcommand\degree{\unit{{}^\circ}} % % Time \newcommand\second{\unit{s}} % % Distance \newcommand\meter{\unit{m}} \newcommand\m{\meter} \newcommand\inch{\unit{in}} \newcommand\feet{\unit{ft}} \newcommand\mile{\unit{mi}} \newcommand\mi{\mile} % % Volume \newcommand\gallon{\unit{gal}} % % Mass \newcommand\gram{\unit{g}} \newcommand\g{\gram} % % Frequency \newcommand\hertz{\unit{Hz}} \newcommand\rpm{\unit{rpm}} % % Voltage \newcommand\volt{\unit{V}} \newcommand\V{\volt} \newcommand\millivolt{\milli\volt} \newcommand\mV{\milli\volt} \newcommand\kilovolt{\kilo\volt} \newcommand\kV{\kilo\volt} % % Current \newcommand\ampere{\unit{A}} \newcommand\A{\ampere} \newcommand\milliampereA{\milli\ampere} \newcommand\mA{\milli\ampere} \newcommand\kiloampereA{\kilo\ampere} \newcommand\kA{\kilo\ampere} % % Resistance \newcommand\ohm{\Omega} \newcommand\milliohm{\milli\ohm} \newcommand\kiloohm{\kilo\ohm} % correct SI spelling \newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx \newcommand\megaohm{\mega\ohm} % correct SI spelling \newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx % % Inductance \newcommand\henry{\unit{H}} \newcommand\H{\henry} \newcommand\millihenry{\milli\henry} \newcommand\mH{\milli\henry} % % Temperature \newcommand\celsius{\unit{^{\circ}C}} \newcommand\C{\unit{\celsius}} \newcommand\fahrenheit{\unit{^{\circ}F}} \newcommand\F{\unit{\fahrenheit}} \newcommand\kelvin{\unit{\K}} \newcommand\K{\unit{\kelvin}}\\% Power \newcommand\watt{\unit{W}} \newcommand\W{\watt} \newcommand\milliwatt{\milli\watt} \newcommand\mW{\milli\watt} \newcommand\kilowatt{\kilo\watt} \newcommand\kW{\kilo\watt} % % Torque \newcommand\ozin{\unit{oz}\text{-}\unit{in}} \newcommand\newtonmeter{\unit{N\text{-}m}}\end{aligned}\end{align} \]

Apr 16, 2025 | 225 words | 2 min read

7.2.3. Roll Analysis#

Instructions#

If you roll a pair of six-sided dice (\(2\)d\(6\)), the total of the roll can be anywhere between \(2\) and \(12\) (inclusive). To simulate the roll of a single die, write a function named roll_d6 that takes no arguments, and returns a random integer between \(1\) and \(6\) (inclusive). Then write another function named get_2d6_rolls that uses your roll_d6 function to simulate rolling two six sided dice multiple times. This function should take the number of times to roll \(2\)d\(6\) as its argument, and return a list of the results for each roll (each number in the list should be between \(2\) and \(12\)).

Then, in your main function, call your get_2d6_rollsfunction to simulate \(1,000,000\) rolls of a pair of dice.

Use the list returned from this function call to calculate and print the percentage of rolls that have each value between \(2\) and \(12\).

Sample Output#

Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.

Sample Output

$ python3 roll_analysis_login.py Roll Frequency 2 2.80% 3 5.51% 4 8.34% 5 11.10% 6 13.96% 7 16.67% 8 13.92% 9 11.11% 10 8.31% 11 5.51% 12 2.77%

Deliverables#

Save your finished program as roll_analysis_login.py, replacing login with your Purdue login. Then submit it along with all the deliverables listed in Table 7.3 below.

Table 7.3 Deliverables#

Deliverable

Description

roll_analysis_login.py

Your finished program.

Screenshot(s)

PNG(s) capturing the test case.