Hi Alan

Thanks once again for your help.

Lea

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
[email protected]
Sent: Friday, 22 April 2011 5:32 PM
To: [email protected]
Subject: Tutor Digest, Vol 86, Issue 77

Send Tutor mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.python.org/mailman/listinfo/tutor
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Tutor digest..."


Today's Topics:

   1. Re: Jokes on Python Language (Marc Tompkins)
   2. Re: learnpython.org - Free Interactive Python Tutorial
      (Ron Reiter)
   3. Re: Plotting a Linear Equation (Alan Gauld)
   4. return values function (Lea Parker)
   5. Re: return values function (Alan Gauld)


----------------------------------------------------------------------

Message: 1
Date: Thu, 21 Apr 2011 13:35:38 -0700
From: Marc Tompkins <[email protected]>
To: [email protected]
Subject: Re: [Tutor] Jokes on Python Language
Message-ID: <[email protected]>
Content-Type: text/plain; charset="iso-8859-1"

On Thu, Apr 21, 2011 at 4:49 AM, Ratna Banjara <[email protected]> wrote:

> Hello all,
>
> Does anybody knows jokes related to Python Language?
> If the answer is yes, please do share it...
>

Of course, there's the AWESOME webcomic xkcd (www.xkcd.com) which is
excellent reading even when he's not talking about Python... but in
particular, there are several great strips about Python itself (or at least,
they mention Python in a fond way):

http://xkcd.com/353/
http://xkcd.com/413/
http://xkcd.com/409/
http://xkcd.com/521/
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.python.org/pipermail/tutor/attachments/20110421/43418337/attach
ment-0001.html>

------------------------------

Message: 2
Date: Thu, 21 Apr 2011 20:22:39 +0300
From: Ron Reiter <[email protected]>
To: [email protected]
Subject: Re: [Tutor] learnpython.org - Free Interactive Python
        Tutorial
Message-ID: <[email protected]>
Content-Type: text/plain; charset="iso-8859-1"

For those of you who didn't notice the title, here is the link:
www.learnpython.org

Also, please note that there is still not enough content to actually learn
from the website yet. I am hoping people will help me with writing tutorials
so the site will be useful as soon as possible.

On Wed, Apr 20, 2011 at 9:16 PM, Ron Reiter <[email protected]> wrote:

> Hey.
>
> I've created a website for learning Python interactively online. Check 
> it out, and I would really appreciate it if you can also contribute
tutorials.
>
> Thanks!
>
> --
> -- Ron
>



--
-- Ron
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.python.org/pipermail/tutor/attachments/20110421/dad10c29/attach
ment-0001.html>

------------------------------

Message: 3
Date: Thu, 21 Apr 2011 22:40:51 +0100
From: "Alan Gauld" <[email protected]>
To: [email protected]
Subject: Re: [Tutor] Plotting a Linear Equation
Message-ID: <[email protected]>
Content-Type: text/plain; format=flowed; charset="iso-8859-1";
        reply-type=original

"Emanuel Woiski" <[email protected]> wrote

> easy:

I love your sense of humour!

> import pylab as pl
> import numpy as np
> x1,x2,n,m,b = 0.,10.,11,2.,5.
> x = np.r_[x1:x2:n*1j]
> pl.plot(x,m*x + b); pl.grid(); pl.show()

Now, given this is a list for beginners to Python, could you try explaining
what you did there and how the OP, or anyone else for that matter, might use
it?

Or were you really just trying to establish that if you try hard you can
write Python that is as difficult to read as Perl?

>>  I want to use matplotlib (or similar) to plot an equation in
>>  (y=mx+b) or standard form (Ax + By = C).  I could make  two points 
>> out of those manually, but I was wondering if anyone knew of  an 
>> easier way. Thanks.

Alan G.




------------------------------

Message: 4
Date: Fri, 22 Apr 2011 16:59:18 +1000
From: "Lea Parker" <[email protected]>
To: <[email protected]>
Subject: [Tutor] return values function
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Hello

 

I am hoping someone can put me on the right track. The code below includes
the assignment question at the beginning.

 

I seem to have been able to calculate average ok, but what I can't seem to
do is sort it so it will return a grade for each result.

 

Can you give me some advice to head me in the right direction please. My
code is:

 

"""Write a program that asks the user to enter 5 sets tests scores. The
program

should then display the 'letter grade' (A, B, C, D, F) for each test score,
and

the overall average test schore. Write the following functions in the
program:

* Calc_average: This function should take five test scores as parameters,
and

return the average score.

*determine_grade; this function should take a single test score as a
parameter,

and return a letter grade for the test. The letter grade should be on the

following grade scale: 90-100: A, 80-89: B, 70-79: C, 60-69: D, <60: F.""" 

 

 

def main():

 

    #Get users first test result

    test1 = int(raw_input('Enter the score for test 1: '))

    

    #Get users second test result

    test2 = int(raw_input('Enter the score for test 2: '))

    

    #Get users third test result

    test3 = int(raw_input('Enter the score for test 3: '))

    

    #Get users forth test result

    test4 = int(raw_input('Enter the score for test 4: '))

    

    #Get users fifth test result

    test5 = int(raw_input('Enter the score for test 5: '))

 

    #Get the sum of the test results

    cal_average = sum(test1, test2, test3, test4, test5)/5

 

    #Display the total of tests

    print 'Together your tests average is: ', cal_average

    print 'Your grade is: ', grade

 

    # The sum function to total all tests

def sum(test1, test2, test3, test4, test5):

    result = test1 + test2 + test3 + test4 + test5

    return result

 

 

def determine_grade(score):

    #Determine the grade for each score

    if score <101 and score >89:

        score = A

    elif score <90 and score >79:

        score = B

    elif score <80 and score >69:

        score = C

    elif score <70 and score >59:

        score = D

    else:

        score = F

    return score

 

 

 

# Call the main function

main()

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.python.org/pipermail/tutor/attachments/20110422/fede14a5/attach
ment-0001.html>

------------------------------

Message: 5
Date: Fri, 22 Apr 2011 08:32:04 +0100
From: "Alan Gauld" <[email protected]>
To: [email protected]
Subject: Re: [Tutor] return values function
Message-ID: <[email protected]>
Content-Type: text/plain; format=flowed; charset="iso-8859-1";
        reply-type=original


"Lea Parker" <[email protected]> wrote

> Write the following functions in the
> program:
>
> * Calc_average: This function should take five test scores as 
> parameters, and return the average score.

Note that you are supposed to write a function to do this not just do it
inline.

> *determine_grade; this function should take a single test score as a 
> parameter, and return a letter grade for the test.
> The letter grade should be on the following grade scale:
> 90-100: A, 80-89: B, 70-79: C, 60-69: D, <60: F."""
>
> def main():
>    #Get users first test result
>    test1 = int(raw_input('Enter the score for test 1: '))
>    test2 = int(raw_input('Enter the score for test 2: '))
>    test3 = int(raw_input('Enter the score for test 3: '))
>    test4 = int(raw_input('Enter the score for test 4: '))
>    test5 = int(raw_input('Enter the score for test 5: '))

Every time you see repeating code like that you should ask, can I use a
loop? If you store the results in a list, it then becomes a simple job to
read 5 results:

for n in range(5):
    results.append( int(raw_input('Enter the score for test %d:" %
n')) )

>    #Get the sum of the test results
>    cal_average = sum(test1, test2, test3, test4, test5)/5

This is the average not the sum so your comment is wrong.
It's also where you should be using the function you were asked to define.
The function body would look like the line above.

>    print 'Together your tests average is: ', cal_average
>    print 'Your grade is: ', grade

And here you need to call your other function to work out the grade.
But again you need to call it for each score. You can repeat it
5 times as you did for raw_input or you could use the loop; method I showed
you above.

>    # The sum function to total all tests def sum(test1, test2, test3, 
> test4, test5):
>    result = test1 + test2 + test3 + test4 + test5
>    return result

You didn't need this because Python already has a sum() function that will
do this for you.

> def determine_grade(score):
>    #Determine the grade for each score
>    if score <101 and score >89:
>        score = A
>    elif score <90 and score >79:
>        score = B
>    elif score <80 and score >69:
>        score = C
>    elif score <70 and score >59:
>        score = D
>    else:
>        score = F
>    return score

The most serious problem, and it should have thrown an error, is that the
results need to be strings. Otherwise Python will look for a variable called
A,B,C etc.
And no such name exists in your code.

Its not a good idea to use score for both the input parameter that you test
and the result that you return. In this case you should get away with it
because you never use score after you set it but in general you run the risk
of losing access to the input value after you assign a result to score.

In the comparisons Python allows you to write them like

if 101 > score > 89:  grade = "A"

which is slightly easier to type and read.

HTH,


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/




------------------------------

_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor


End of Tutor Digest, Vol 86, Issue 77
*************************************

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to