[Tutor] bug in exam score conversion program

Dragos Ionescu idragos at ymail.com
Sat Oct 4 22:21:54 CEST 2008


---- Original Message ----
From: Steve Willoughby <steve at alchemy.com>
To: Dragos Ionescu <idragos at ymail.com>
Cc: bob gailer <bgailer at gmail.com>; David <ldl08 at gmx.net>; tutor at python.org
Sent: Saturday, October 4, 2008 11:04:30 PM
Subject: Re: [Tutor] bug in exam score conversion program

Dragos Ionescu wrote:
> ----- Original Message ----
> From: bob gailer <bgailer at gmail.com>
> To: David <ldl08 at gmx.net>
> Cc: tutor at python.org
> Sent: Saturday, October 4, 2008 10:15:10 PM
> Subject: Re: [Tutor] bug in exam score conversion program
> 
> Lots of good responses. And now for something completely different:
> 
> import string
> x = string.maketrans('567891', 'FDCBAA')
> score = raw_input('score>')
> print "Your grade is:", score[0].translate(x)
> -- 
> Bob Gailer
> Chapel Hill NC
> 919-636-4239
> 
> When we take the time to be aware of our feelings and
> needs we have more satisfying interatctions with others..
> 
> Nonviolent Communication provides tools for this awareness.
> 
> As a coach and trainer I can assist you in learning this process.
> 
> What is YOUR biggest relationship challenge?
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org <mailto:Tutor at python.org>
> http://mail.python.org/mailman/listinfo/tutor
>  
>  
> Wow! Bob Gailer's solution is so elegant. Can someone plese explain what 
> is the algorithm behind  string.maketrans. More exactly, how is this 
> function doing the coding?

Actually, I don't think the point was to be elegant as much
as to get you thinking about something you might not have
explored--never hurts to keep learning new features so you
don't inefficiently apply the same old small set of things
to new problems.

You wouldn't *really* want to implement a production grade
system like that, cute though it is.  This is setting up a
translation table mapping the first character in the score
to a letter grade.  So a 9 is changed to an A.  The obvious
problem though is how it handles a score of, say, "1".  Or,
for that matter, "37".


I know how string.maketrans works. I was wondering how to implement such a function. Would that be very hard? I must admit that I was 'surprised' when I printed x...

Thanks,
Dragos
http://scripts.mit.edu/~dionescu/pyworld


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20081004/b4798cb4/attachment.htm>


More information about the Tutor mailing list