Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Help with Iteration

Reply
Thread Tools

Help with Iteration

 
 
Chris McComas
Guest
Posts: n/a
 
      10-18-2008
i have a python script that is computing ratings of sports teams.

what i'm trying to do is setup an iteration for the rating so that the
python program recomputes the rating if any of the value difference is
> 0.00005. it's common for sports ratings to run such iterations...


any tips, pointers on where to look on how to do this the best way?

right now i'm getting the ratings from the file, limiting my results
to 1 entry, the biggest number, if it's > 0.00005, then i want it to
compute the ratings again. if it is < 0.00005 then it just goes on to
the next step in the file.

thnx in advance.
 
Reply With Quote
 
 
 
 
Aaron \Castironpi\ Brady
Guest
Posts: n/a
 
      10-18-2008
On Oct 17, 10:44*pm, Chris McComas <(E-Mail Removed)> wrote:
> i have a python script that is computing ratings of sports teams.
>
> what i'm trying to do is setup an iteration for the rating so that the
> python program recomputes the rating if any of the value difference is
>
> > 0.00005. it's common for sports ratings to run such iterations...

>
> any tips, pointers on where to look on how to do this the best way?
>
> right now i'm getting the ratings from the file, limiting my results
> to 1 entry, the biggest number, if it's > 0.00005, then i want it to
> compute the ratings again. if it is < 0.00005 then it just goes on to
> the next step in the file.
>
> thnx in advance.


Can you cut and paste a few lines? Otherwise I assume your file looks
like this:

A 0.00001
B 0.00003
C 0.00006

You interpret the file like this:

name= A, rating= 0.00001
name= B, rating= 0.00003
name= C, rating= 0.00006
--recompute--

new values:
name= A, rating= 0.00001
name= B, rating= 0.00002
name= C, rating= 0.00004

new file:
A 0.00001
B 0.00002
C 0.00004

Am I right so far?
 
Reply With Quote
 
 
 
 
Chris McComas
Guest
Posts: n/a
 
      10-18-2008
On Oct 18, 12:43 am, "Aaron \"Castironpi\" Brady"
<(E-Mail Removed)> wrote:
> On Oct 17, 10:44 pm, Chris McComas <(E-Mail Removed)> wrote:
>
> > i have a python script that is computing ratings of sports teams.

>
> > what i'm trying to do is setup an iteration for the rating so that the
> > python program recomputes the rating if any of the value difference is

>
> > > 0.00005. it's common for sports ratings to run such iterations...

>
> > any tips, pointers on where to look on how to do this the best way?

>
> > right now i'm getting the ratings from the file, limiting my results
> > to 1 entry, the biggest number, if it's > 0.00005, then i want it to
> > compute the ratings again. if it is < 0.00005 then it just goes on to
> > the next step in the file.

>
> > thnx in advance.

>
> Can you cut and paste a few lines? Otherwise I assume your file looks
> like this:
>
> A 0.00001
> B 0.00003
> C 0.00006
>
> You interpret the file like this:
>
> name= A, rating= 0.00001
> name= B, rating= 0.00003
> name= C, rating= 0.00006
> --recompute--
>
> new values:
> name= A, rating= 0.00001
> name= B, rating= 0.00002
> name= C, rating= 0.00004
>
> new file:
> A 0.00001
> B 0.00002
> C 0.00004
>
> Am I right so far?


actually i'm running it online, with a mysql db. so in the db there is
a table CollegeYear with the following fields:

name
rating
change
wp

then another table Games

date
year
team_1
team_1_score
team_2
team_2_score

it goes through and calculates everything, then when it's time to
compute the rating i have say this code:

http://dpaste.com/85300/

it goes through and computes them, then add the new rating and
absolute value of the changed rating to the db. what i need now is a
way to get the largest entry for 'change' and if it is greater than
0.00005 then do this code again. if it is less than 0.00005 then we're
done.
 
Reply With Quote
 
Aaron Brady
Guest
Posts: n/a
 
      10-18-2008
Chris McComas wrote:
> actually i'm running it online, with a mysql db. so in the db there is
> a table CollegeYear with the following fields:
>
> name
> rating
> change
> wp
>
> then another table Games
>
> date
> year
> team_1
> team_1_score
> team_2
> team_2_score
>
> it goes through and calculates everything, then when it's time to
> compute the rating i have say this code:
>
> http://dpaste.com/85300/
>
> it goes through and computes them, then add the new rating and
> absolute value of the changed rating to the db. what i need now is a
> way to get the largest entry for 'change' and if it is greater than
> 0.00005 then do this code again. if it is less than 0.00005 then we're
> done.


What about "SELECT MAX( rating ) FROM CollegeYear"?

 
Reply With Quote
 
Chris McComas
Guest
Posts: n/a
 
      10-19-2008
On Oct 18, 3:46 pm, Aaron Brady <(E-Mail Removed)> wrote:
> Chris McComas wrote:
> > actually i'm running it online, with a mysql db. so in the db there is
> > a table CollegeYear with the following fields:

>
> > name
> > rating
> > change
> > wp

>
> > then another table Games

>
> > date
> > year
> > team_1
> > team_1_score
> > team_2
> > team_2_score

>
> > it goes through and calculates everything, then when it's time to
> > compute the rating i have say this code:

>
> >http://dpaste.com/85300/

>
> > it goes through and computes them, then add the new rating and
> > absolute value of the changed rating to the db. what i need now is a
> > way to get the largest entry for 'change' and if it is greater than
> > 0.00005 then do this code again. if it is less than 0.00005 then we're
> > done.

>
> What about "SELECT MAX( rating ) FROM CollegeYear"?


Aaron,

Thnx. To clarify I can get the max, that wasn't the issue, what I'm
failing to try and visualise/figure out is how do I say, okay if MAX >
0.00005 run this again, if MAX < 0.00005 you're done.
 
Reply With Quote
 
John Machin
Guest
Posts: n/a
 
      10-19-2008
On Oct 19, 11:59*am, Chris McComas <(E-Mail Removed)> wrote:
> On Oct 18, 3:46 pm, Aaron Brady <(E-Mail Removed)> wrote:
>
>
>
> > Chris McComas wrote:
> > > actually i'm running it online, with a mysql db. so in the db there is
> > > a table CollegeYear with the following fields:

>
> > > name
> > > rating
> > > change
> > > wp

>
> > > then another table Games

>
> > > date
> > > year
> > > team_1
> > > team_1_score
> > > team_2
> > > team_2_score

>
> > > it goes through and calculates everything, then when it's time to
> > > compute the rating i have say this code:

>
> > >http://dpaste.com/85300/


What is the point of this:

if games.team_1_score > games.team_2_score
t1_rating = t2_rating + t1_wp - .5
t2_rating = t1_rating + t2_wp - .5
elif games.team_1_score < games.team_2_score
t1_rating = t2_rating + t1_wp - .5
t2_rating = t1_rating + t2_wp - .5
elif games.team_1_score == games.team_2_score
t1_rating = t2_rating + t1_wp - .5
t2_rating = t1_rating + t2_wp - .5

You have the same code for each of the three conditions. Where are the
colons? Have you actually tried to execute this code? Any good reason
why the second elif is not an else?


>
> > > it goes through and computes them, then add the new rating and
> > > absolute value of the changed rating to the db. what i need now is a
> > > way to get the largest entry for 'change' and if it is greater than
> > > 0.00005 then do this code again. if it is less than 0.00005 then we're
> > > done.

>
> > What about "SELECT MAX( rating ) FROM CollegeYear"?

>
> Aaron,
>
> Thnx. To clarify I can get the max, that wasn't the issue, what I'm
> failing to try and visualise/figure out is how do I say, okay if MAX >
> 0.00005 run this again, if MAX < 0.00005 you're done.


[Aside: if MAX == 0.00005, what? Go into a catatonic trance?]

Let me get this straight: Is this your first program? Are you asking
how to code a while loop?
 
Reply With Quote
 
Aaron Brady
Guest
Posts: n/a
 
      10-19-2008
Chris McComas wrote:

> On Oct 18, 3:46 pm, Aaron Brady <(E-Mail Removed)> wrote:
>> Chris McComas wrote:
>> > actually i'm running it online, with a mysql db. so in the db there is
>> > a table CollegeYear with the following fields:

>>
>> > name
>> > rating
>> > change
>> > wp

>>
>> > then another table Games

>>
>> > date
>> > year
>> > team_1
>> > team_1_score
>> > team_2
>> > team_2_score

>>
>> > it goes through and calculates everything, then when it's time to
>> > compute the rating i have say this code:

>>
>> >http://dpaste.com/85300/

>>
>> > it goes through and computes them, then add the new rating and
>> > absolute value of the changed rating to the db. what i need now is a
>> > way to get the largest entry for 'change' and if it is greater than
>> > 0.00005 then do this code again. if it is less than 0.00005 then we're
>> > done.

>>
>> What about "SELECT MAX( rating ) FROM CollegeYear"?

>
> Aaron,
>
> Thnx. To clarify I can get the max, that wasn't the issue, what I'm
> failing to try and visualise/figure out is how do I say, okay if MAX >
> 0.00005 run this again, if MAX < 0.00005 you're done.


I don't know.

while 1:
calculate_stuff( )
if stuff < 0.00005:
break



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Help on Directory Iteration Newb Newb Ruby 7 01-27-2009 10:25 PM
Struts - Problem with nested iteration or double iteration Rudi Java 5 10-01-2008 03:30 AM
Showing value of loop iteration in assert statement dwerdna VHDL 5 03-31-2005 05:23 PM
implementing iteration- and conditional-tags with ASP.NET jurujuba ASP .Net 3 02-20-2005 08:16 AM
looping and displaying progress with every iteration Bruce Whitehouse ASP .Net 3 11-23-2003 07:15 PM



Advertisments