Merge pull request #5738 from edx/markhoeber-documentation-doc858
Python problem randomization example
This commit is contained in:
@@ -18,6 +18,8 @@ October, 2014
|
||||
Your Own Grader` chapter.
|
||||
* -
|
||||
- Fixed a bug in :ref:`Text Input Problem XML`.
|
||||
* -
|
||||
- Added :ref:`Create a Randomized Custom Python-Evaluated Input Problem`
|
||||
* - 10/23/14
|
||||
- Added note about limited support of annotation problem type to
|
||||
:ref:`Annotation`.
|
||||
|
||||
@@ -364,6 +364,8 @@ A problem’s weight is set to 2. The problem has four response fields.
|
||||
If a student’s response contains one correct answer and three incorrect
|
||||
answers, the student’s score is 0.5 out of 2 points.
|
||||
|
||||
.. _Randomization:
|
||||
|
||||
===============
|
||||
Randomization
|
||||
===============
|
||||
@@ -413,6 +415,8 @@ This setting has the following options.
|
||||
| | other students see. |
|
||||
+-------------------+--------------------------------------+
|
||||
|
||||
.. note:: The edX Platform has a 20-seed limit for randomization.
|
||||
|
||||
===============
|
||||
Show Answer
|
||||
===============
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
.. include:: ../../../shared/exercises_tools/custom_python.rst
|
||||
|
||||
|
||||
@@ -13,8 +13,11 @@ October, 2014
|
||||
|
||||
* - Date
|
||||
- Change
|
||||
|
||||
* - 10/28/14
|
||||
- Added the section :ref:`Example of an OLX Course`.
|
||||
* -
|
||||
- Added :ref:`Create a Randomized Custom Python-Evaluated Input Problem`
|
||||
* - 10/23/14
|
||||
- Fixed the code sample in :ref:`Script Tag Format` in the :ref:`Write
|
||||
Your Own Grader` chapter.
|
||||
|
||||
@@ -288,3 +288,45 @@ The following template does not return answers when the student clicks **Show An
|
||||
</solution>
|
||||
</problem>
|
||||
|
||||
.. _Create a Randomized Custom Python-Evaluated Input Problem:
|
||||
|
||||
*****************************************************************
|
||||
Create a Randomized Custom Python-Evaluated Input Problem
|
||||
*****************************************************************
|
||||
|
||||
You can create a custom Python-evaluated input problem that randomizes
|
||||
variables in the Python code.
|
||||
|
||||
.. note::
|
||||
In the problem settings, you must set the **Randomization** value to
|
||||
something other than **Never** to have Python variables randomized. See
|
||||
:ref:`Randomization` for more information.
|
||||
|
||||
The following example demonstrates using randomization with a Python-evaluated
|
||||
input problem.
|
||||
|
||||
.. note::
|
||||
This example uses the method ``random.randint`` to generate random numbers. You can use any standard Python library for this purpose.
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<problem>
|
||||
<p>Some problems in the course will utilize randomized parameters.
|
||||
For such problems, after you check your answer you will have the option
|
||||
of resetting the question, which reconstructs the problem with a new
|
||||
set of parameters.</p>
|
||||
<script type="loncapa/python">
|
||||
x1 = random.randint(0, 100)
|
||||
x2 = random.randint(0, 100)
|
||||
y = x1+x2
|
||||
</script>
|
||||
<p>Let (x_1 = $x1) and (x_2 = $x2). What is the value of (x_1+x_2)?</p>
|
||||
<numericalresponse answer="$y">
|
||||
<responseparam type="tolerance" default="0.01%" name="tol"
|
||||
description="Numerical Tolerance"/>
|
||||
<textline size="10"/>
|
||||
</numericalresponse>
|
||||
<solution>
|
||||
<p><b>Explanation:</b></p>
|
||||
</solution>
|
||||
</problem>
|
||||
|
||||
Reference in New Issue
Block a user