Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: looping

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106780] Re: [mg106704] looping
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Sat, 23 Jan 2010 07:33:38 -0500 (EST)
  • References: <201001210955.EAA16523@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

This is awkward too, but have a look:

initialize[] := (
   names = {"apple", "bob", "cat", "dog", "ear", "frog", "greg",
     "hippo", "i9", "joe"};
   Clear[called, score, percent];
   called[_] = 0;
   score[_] = 0;
   percent[any_] :=
    Quiet@AccountingForm[100. score[any]/called[any], 3];
   )

initialize[]
repeat = True;
While[repeat,
  n = RandomInteger[{1, Length@names}];
  name = names[[n]];
  called[name]++;
  Input["Was the answer correct?",
   SetterBar[Dynamic[result], {1 -> "correct", 0 -> "incorrect"}]];
  score[name] += result;
  Input["Continue?",
   SetterBar[Dynamic[repeat], {True -> "Go on", False -> "Stop"}]]
  ]
Grid[
    Table[Through[{Identity, called, score, percent}@name], {name,
      names}] /. Indeterminate -> "No scores"]

Bobby

On Thu, 21 Jan 2010 03:55:25 -0600, glenn kuhaneck <mcguyver128 at yahoo.com>  
wrote:

> this code is supposed to randomly select a student from a list, keep  
> track of how many times he/she has been called, and how many answers  
> they have gotten correct.
>
> I am having problems getting the following code to repeat on request: i  
> have tried do loops, while loops, and labels none have worked.   please  
> help
>
> These are the sample lists I am using for the code below
> name = ( {
>    {"apple"},
>    {"bob"},
>    {"cat"},
>    {"dog"},
>    {"ear"},
>    {"frog"},
>    {"greg"},
>    {"hippo"},
>    {"i9"},
>    {"joe"}
>   }); score = ({
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0}
>   }); called = ({
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0}
>   }); prcnt = ( {
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0},
>    {0}
>   } );
>
>
>
>
> this is the code to manipulate the lists created above
> repeat = "yes";
> c = "wrong";
> l = Length[name];
> n = RandomInteger[l - 1] + 1;
>
>
> Label[begin]
> "Student #"
> n
> name[[n]]
> called[[n]] += 1;
> "# times called"
> called
> "Old Score"
> score
> Input["Was the answer correct?", Button["Yes", c = "Right"]];
> If[c == "Right", score[[n]] += 1]; c
> "New Score"
> score
> "Your # of Correct Answers"
> score[[n]]
> "Your %"
> prcnt[[n]] = score[[n]]/called[[n]]
> "Class %"
> prcnt
> Input["Another ?", Button["No", repeat = "no"]];
> If[repeat == "yes", Goto[begin], Goto[end]];
> Label[end];
> prcnt[[n]]
>
>
>
> thank you for your assistance,
>  Mr. Glenn J. Kuhaneck
>


-- 
DrMajorBob at yahoo.com


  • References:
    • looping
      • From: glenn kuhaneck <mcguyver128@yahoo.com>
  • Prev by Date: Re: Re: More /.{I->-1} craziness
  • Next by Date: Re: Finding and changing strings in a matrix
  • Previous by thread: looping
  • Next by thread: Re: looping