[Tutor] my pet project (long)

Andrzej Kolinski AKolinski@nriindustries.com
Tue, 29 Jan 2002 16:35:10 -0500


--0__=85256B5000765EF78f9e8a93df938690918c85256B5000765EF7
Content-type: text/plain; charset=us-ascii


I am a total newbie surrounded by Python books and tutorials. Before I
became the one (this was not difficult :-)) I tried to learn a bit of C (I
am glad I did not). I found Python and this mailing are the best things for
what I dream to do.

This is my pet project. I would like to write a python program that allows
me to maintain  players' ranking for our bridge club. I run weekly
duplicate games and use a designated program to score these games. Among
other things it creates text files (see examples attached) with the game
results. I want to use the players' Pct (second column) and Names (last
column) to do my calculations.

The first things I want to know is:
-    how to get the data from the results file, i.e. how to create a
table/file with each player's name associated with the pair's Pct (what
type of file/string operation applies)?
-    how to use this individual player result to update the ranking
table/file? This would take:
     -    player's current ranking (first entry = 50.00),
     -    partner's current ranking,
     -    last game Pct for this pair, and maybe
     -    the average ranking of all players in the game.

I want to include the last 8 games in these calculations and produce a
current club ranking list for players that participated at least in 4 out
of the last 8 games.

I've gone through several tutorials, concentrating especially on file
operations/string manipulations but I do not know where to start and I
would appreciate any advice from you.

By the way, are there any duplicate bridge players on this mailing list
*grin*?

(See attached file: game0116.txt)
(See attached file: game0123.txt)

         _/_/       _/     _/
    _/       _/   _/    _/
  _/_/_/_/   _/_/
 _/      _/   _/    _/
_/     _/   _/      _/

Andrzej Kolinski
--0__=85256B5000765EF78f9e8a93df938690918c85256B5000765EF7
Content-type: application/octet-stream; 
	name="game0116.txt"
Content-Disposition: attachment; filename="game0116.txt"
Content-transfer-encoding: base64

DQpUdXJuaWVqIFBhcmFtaSAoTUFYLVkpIFdlZG5lc2RheSBFdmUgU2Vzc2lvbiBKYW51YXJ5IDE2
LCAyMDAyDQoNCg0KU2NvcmVzIGFmdGVyIDI4IGJvYXJkcyAgQXZlcmFnZTogICA4NC4wICAgICAg
U2VjdGlvbiAgQSAgTm9ydGgtU291dGgNClBhaXIgICAgUGN0ICAgU2NvcmUgIFJhbmsgICBNUHMg
ICAgIA0KICA3ICAgNjYuOTYgIDExMi41MCAgIDEgICAgMC44MCAgICAgQWRhbSBLb2h1dCAtIFpi
aWduaWV3IFN0YW5raWV3aWN6DQogIDEgICA1NS4wNiAgIDkyLjUwICAgMiAgICAwLjU2ICAgICBU
YWt5IEJvaG9zc2lhbiAtIFN0YW5pc2xhdyBSYWxjZXdpY3oNCiAgMiAgIDQ4LjUxICAgODEuNTAg
IDMvNCAgIDAuMzQgICAgIFN0YW5pc2xhdyBHcnVkemluc2tpIC0gQW5kcnplaiBIZW1wZWwNCiAg
MyAgIDQ4LjUxICAgODEuNTAgIDMvNCAgIDAuMzQgICAgIEhlbnJ5ayBSYXN0b24gLSBUYWRldXN6
IFdpZG1vbnQNCiAgNiAgIDQ2LjQzICAgNzguMDAgICAgICAgICAgICAgICAgIERhbmllbGEgQWxl
anNrYSAtIFpvZmlhIEtvbml0emVyDQogIDQgICA0Ni4xMyAgIDc3LjUwICAgICAgICAgICAgICAg
ICBKdWxpYW4gR2FsYXMgLSBXYW5kYSBHYWxhcw0KICA1ICAgMzguMzkgICA2NC41MCAgICAgICAg
ICAgICAgICAgSmFudXN6IEhhbnVzIC0gTWFsZ29yemF0YSBMdWthc2lhaw0KDQpUdXJuaWVqIFBh
cmFtaSAoTUFYLVkpIFdlZG5lc2RheSBFdmUgU2Vzc2lvbiBKYW51YXJ5IDE2LCAyMDAyDQpTY29y
ZXMgYWZ0ZXIgMjggYm9hcmRzICBBdmVyYWdlOiAgIDg0LjAgICAgICBTZWN0aW9uICBBICBFYXN0
LVdlc3QNClBhaXIgICAgUGN0ICAgU2NvcmUgIFJhbmsgICBNUHMgICAgIA0KICA1ICAgNTkuMzgg
ICA5OS43NSAgIDEgICAgMC44MCAgICAgWnlnbXVudCBLdWJpc3p5biAtIFJ5c3phcmQgTGV3YW5k
b3dza2kNCiAgNyAgIDU2Ljk1ICAgOTUuNjcgICAyICAgIDAuNTYgICAgIElyZW5hIEpha3Vib3dz
a2EgLSBXb2pjaWVjaCBTYW1ib3INCiAgMSAgIDU0LjE3ICAgOTEuMDAgICAzICAgIDAuNDAgICAg
IElyZW5ldXN6IEJhY3playAtIEZyZWQgU3pvYmxpaw0KICA4ICAgNTEuNzQgICA4Ni45MiAgICAg
ICAgICAgICAgICAgSmFjZWsgQ3lwZXJsaW5nIC0gQW5kcnplaiBLb2xpbnNraQ0KICA2ICAgNDku
NjUgICA4My40MiAgICAgICAgICAgICAgICAgS3J6eXN6dG9mIEtvd2Fsc2tpIC0gTWllY3p5c2xh
dyBMYXNrb3dza2kNCiAgMyAgIDQ3LjIyICAgNzkuMzMgICAgICAgICAgICAgICAgIFJhZGVrIENo
cmFiYWxvd3NraSAtIEJydW5vIFpkemllbmlja2kNCiAgNCAgIDQ1LjE0ICAgNzUuODMgICAgICAg
ICAgICAgICAgIEJhcmJhcmEgRmlsaXBjenVrIC0gSmVyenkgSHJ5bmlld2llY2tpDQogIDIgICAz
NS4wNyAgIDU4LjkyICAgICAgICAgICAgICAgICBXaWVzbGF3IFN6Y3plcmJvd3NraSAtIFpiaWdu
aWV3IFppb2xrb3dza2kNCg==

--0__=85256B5000765EF78f9e8a93df938690918c85256B5000765EF7
Content-type: application/octet-stream; 
	name="game0123.txt"
Content-Disposition: attachment; filename="game0123.txt"
Content-transfer-encoding: base64

VHVybmllaiBQYXJhbWkgKE1BWC1ZKSBXZWRuZXNkYXkgRXZlIFNlc3Npb24gSmFudWFyeSAyMywg
MjAwMg0KU2NvcmVzIGFmdGVyIDI0IGJvYXJkcyAgQXZlcmFnZTogICA4NC4wICAgICAgU2VjdGlv
biAgQQ0KUGFpciAgICBQY3QgICBTY29yZSAgUmFuayAgIE1QcyAgICAgDQogIDYgICA2Mi44OCAg
MTA1LjY0ICAgMSAgICAxLjUwICAgICBEYW5pZWxhIEFsZWpza2EgLSBab2ZpYSBLb25pdHplcg0K
ICAyICAgNjEuMTggIDEwMi43OSAgIDIgICAgMS4wNSAgICAgQW5kcnplaiBLb2xpbnNraSAtIFN0
YW5pc2xhdyBSYWxjZXdpY3oNCiAxNiAgIDU1LjkxICAgOTMuOTMgICAzICAgIDAuNzUgICAgIEFs
ZWtzYW5kZXIgQ2ljaG9ja2kgLSBaYmlnbmlldyBQYW5raWV3aWN6DQogMTEgICA1NS40OSAgIDkz
LjIyICAgNCAgICAwLjUzICAgICBXaWVzbGF3IFN6Y3plcmJvd3NraSAtIFpiaWduaWV3IFppb2xr
b3dza2kNCiAgMyAgIDU1LjQ4ICAgOTMuMjEgICA1ICAgIDAuMzAgICAgIEhlbnJ5ayBSYXN0b24g
LSBUYWRldXN6IFdpZG1vbnQNCiAxMyAgIDUzLjAyICAgODkuMDcgICA2ICAgIDAuMjUgICAgIEty
enlzenRvZiBLb3dhbHNraSAtIE1pZWN6eXNsYXcgTGFza293c2tpDQogMTQgICA1Mi40MiAgIDg4
LjA2ICAgICAgICAgICAgICAgICBBZGFtIFphY2hhcmEgLSBCcnVubyBaZHppZW5pY2tpDQogMTAg
ICA1Mi4yMSAgIDg3LjcyICAgICAgICAgICAgICAgICBSYWRlayBDaHJhYmFsb3dza2kgLSBBbmRy
emVqIEtpdGENCiAxMiAgIDQ5LjMxICAgODIuODQgICAgICAgICAgICAgICAgIEJhcmJhcmEgRmls
aXBjenVrIC0gSmVyenkgSHJ5bmlld2llY2tpDQogIDUgICA0Ni44OSAgIDc4Ljc4ICAgICAgICAg
ICAgICAgICBKYW51c3ogSGFudXMgLSBNYWxnb3J6YXRhIEx1a2FzaWFrDQogIDEgICA0NS45NiAg
IDc3LjIxICAgICAgICAgICAgICAgICBTdGFuaXNsYXcgR3J1ZHppbnNraSAtIEFuZHJ6ZWogSGVt
cGVsDQogIDcgICA0NC4xMyAgIDc0LjE0ICAgICAgICAgICAgICAgICBLcnlzdHluYSBTemFka293
c2thIC0gUm9iZXJ0IFN6Y3p1cmVrDQogMTUgICA0Mi45MCAgIDcyLjA3ICAgICAgICAgICAgICAg
ICBJcmVuZXVzeiBCYWN6ZWsgLSBGcmVkIFN6b2JsaWsNCiAgOCAgIDQyLjAyICAgNzAuNjAgICAg
ICAgICAgICAgICAgIFJ5c3phcmQgTGV3YW5kb3dza2kgLSBaYmlnbmlldyBTZWt1bGENCiAgNCAg
IDQwLjM5ICAgNjcuODYgICAgICAgICAgICAgICAgIEp1bGlhbiBHYWxhcyAtIFdhbmRhIEdhbGFz
DQogIDkgICAzOS44MCAgIDY2Ljg3ICAgICAgICAgICAgICAgICBXb2pjaWVjaCBTYW1ib3IgLSBN
YXJ5bGEgV2FjaG93aWFrDQo=

--0__=85256B5000765EF78f9e8a93df938690918c85256B5000765EF7--