PopUpListsLong
Pop-Up Lists That Are Long: PG Code Snippet
This code snippet shows the PG code to create lengthy pop-up lists in a WeBWorK problem. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PG.pl", "PGstandard.pl", "PGcourse.pl", "PGchoicemacros.pl", ); TEXT(beginproblem); |
Initialization: We need to include the |
@questions_and_answers = ( "Larry is one of the three stooges.","True", "\(\pi\) is rational","False", "Gandalf is one of the three stooges.","False" ); |
Set-up: An array in which questions alternate with answers. This is the only part of this example that needs to be modified. Answers may be any string. |
BEGIN_TEXT Are the following statements true or false? $PAR END_TEXT |
Instructions and Question for all parts: Modify the instructions if you want. You should give what the possible answers are here so that students who have a pdf hardcopy / paper-copy can work directly from it. |
$n = scalar(@questions_and_answers)/2; @shuffle = shuffle($n); @abc = (a..z); for $jj (0..$n-1) { $j = $shuffle[$jj]; BEGIN_TEXT @abc[$jj]. \{ pop_up_list(['?', 'True', 'False']) \} $SPACE $questions_and_answers[2*$j] $BR$BR END_TEXT ANS(str_cmp($questions_and_answers[2*$j+1], filters=>["trim_whitespace","compress_whitespace"])); } ENDDOCUMENT(); |
Main Text and Answer Evaluation: Shuffle the order of the questions and use a for loop to generate one question and one answer evaluator for each pair in the array @questions_and_answers. You can change the pop-up list options ['?','True','False'] to any number of strings you want. |