Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Homework help (http://www.velocityreviews.com/forums/t611858-homework-help.html)

 bobby.connor@gmail.com 04-01-2008 04:11 PM

Homework help

Hey guys
I haev this homework assignment due today
I don't necessarily want the answers, but need help on how to approach
it/the steps i need to solve the problems
Thanks

# (2 Points) Write a python function howMany(item,lst) which accepts
an item and a lst of items and returns the number of times item occurs
in lst. For example, howMany(3,[1,2,3,2,3]) should return 2.

# (2 Points) Write a python function upTo(n) which accepts a non-
negative number n and returns a list of numbers from 0 to n. For
example, upTo(3) should return the list [0, 1, 2, 3].

# (2 Points) Write a python function duplicate(lst) which accepts a
lst of items and returns a list with the items duplicated. For
example, duplicate([1,2,2,3]) should return the list [1, 1, 2, 2, 2,
2, 3, 3].

# (2 Points) Write a python function dotProduct(a,b) which accepts two
lists of integers a and b that are of equal length and which returns
the dot product of a and b. I.e., the sum a0 * b0 + ... + an-1 * bn-1
where n is the length of the lists. For example:

dotProduct([1,2,3],[4,5,6]) is 1*4 + 2*5 + 3*6 = 4 + 10 + 18 = 32

# (2 Points) A pair (exp0, exp1) is a combination of expressions that
are attached together by their joint membership in the pair. For
example:

>>> (1+2, 'This')

(3, 'This')

A component of a pair can be obtained using an index in brackets as
with lists (and strings!). For example:

>>> (33,44)[0]

33

Write a function zip(lst1, lst2) such that zip accepts two equal
length lists and returns a list of pairs. For example, zip(['a', 'b',
'c'], [10, 20, 30]) should evaluate to the list [('a', 10), ('b', 20),
('c', 30)].

# (2 Points) Write a function unzip(lst) such that unzip accepts a
list of pairs and returns two lists such that lst == zip(unzip(lst)).
For example, unzip([('a', 10), ('b', 20), ('c', 30)] should evaluate
to the pair (['a', 'b', 'c'], [10, 20, 30]).

# (2 Points) Write a python function isAscending(lst) which accepts a
non-empty list of integers and returns True if the numbers in the list
are in ascending order. Otherwise it should return False. For example,
isAscending([1]) should evaluate to True while isAscending([1,2,2])
should return False.

 Paul Rubin 04-01-2008 04:17 PM

Re: Homework help

bobby.connor@gmail.com writes:
> I don't necessarily want the answers, but need help on how to approach
> it/the steps i need to solve the problems

What parts are you having difficulty with? Are there some course
materials and have you read them yet?

 Bruno Desthuilliers 04-01-2008 04:23 PM

Re: Homework help

bobby.connor@gmail.com a écrit :
> Hey guys
> I haev this homework assignment due today

Isn't it a bit too late to worry about it then ?

 bobby.connor@gmail.com 04-01-2008 04:29 PM

Re: Homework help

On Apr 1, 12:17 pm, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
> bobby.con...@gmail.com writes:
> > I don't necessarily want the answers, but need help on how to approach
> > it/the steps i need to solve the problems

>
> What parts are you having difficulty with? Are there some course
> materials and have you read them yet?

I just don't know how to start the problems off

 Tommy Grav 04-01-2008 04:35 PM

Re: Homework help

On Apr 1, 2008, at 12:29 PM, bobby.connor@gmail.com wrote:
> On Apr 1, 12:17 pm, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
>> bobby.con...@gmail.com writes:
>>> I don't necessarily want the answers, but need help on how to
>>> approach
>>> it/the steps i need to solve the problems

>>
>> What parts are you having difficulty with? Are there some course
>> materials and have you read them yet?

>
> I just don't know how to start the problems off

How about reading the course material and then firing up python and
trying
some code. When you have done that and have questions regarding your
code you are more than welcome back with questions.

Cheers
TG

 Dave Hansen 04-01-2008 04:42 PM

Re: Homework help

On Apr 1, 11:29 am, bobby.con...@gmail.com wrote:
> On Apr 1, 12:17 pm, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
>
> > bobby.con...@gmail.com writes:
> > > I don't necessarily want the answers, but need help on how to approach
> > > it/the steps i need to solve the problems

>
> > What parts are you having difficulty with? Are there some course
> > materials and have you read them yet?

>
> I just don't know how to start the problems off

Well, for the first problem, the first line is

def howMany(item,lst):

If you can't figure out where to go from there, start here:
http://docs.python.org/tut/tut.html

Regards,

-=Dave

 Terry Reedy 04-01-2008 05:34 PM

Re: Homework help

<bobby.connor@gmail.com> wrote in message
| Hey guys
| I haev this homework assignment due today
| I don't necessarily want the answers, but need help on how to approach
| it/the steps i need to solve the problems
| Thanks

Read the section of the tutorial (and possibly Launguage Reference) on
writing for statements and functions.
Then read the sections of the Library Reference on builtin types and
specifically sequences and more specifically lists.

tjr

 Marc 'BlackJack' Rintsch 04-01-2008 05:42 PM

Re: Homework help

On Tue, 01 Apr 2008 09:11:12 -0700, bobby.connor wrote:

> # (2 Points) Write a python function howMany(item,lst) which accepts
> an item and a lst of items and returns the number of times item occurs
> in lst. For example, howMany(3,[1,2,3,2,3]) should return 2.

Study the methods on lists.

> # (2 Points) Write a python function upTo(n) which accepts a non-
> negative number n and returns a list of numbers from 0 to n. For
> example, upTo(3) should return the list [0, 1, 2, 3].

Study the built in functions. I don't know if it is considered cheating
but you can get away with binding an existing one to the new name.

> # (2 Points) Write a python function dotProduct(a,b) which accepts two
> lists of integers a and b that are of equal length and which returns
> the dot product of a and b. I.e., the sum a0 * b0 + ... + an-1 * bn-1
> where n is the length of the lists. For example:
>
> dotProduct([1,2,3],[4,5,6]) is 1*4 + 2*5 + 3*6 = 4 + 10 + 18 = 32

Again study the built in functions. Here the function from the `zip()`
exercise below might be handy.

> # (2 Points) A pair (exp0, exp1) is a combination of expressions that
> are attached together by their joint membership in the pair. For
> example:
>
>>>> (1+2, 'This')

> (3, 'This')
>
> A component of a pair can be obtained using an index in brackets as
> with lists (and strings!). For example:
>
>>>> (33,44)[0]

> 33

And the exercise to solve is!? Study the built in data types.

> Write a function zip(lst1, lst2) such that zip accepts two equal
> length lists and returns a list of pairs. For example, zip(['a', 'b',
> 'c'], [10, 20, 30]) should evaluate to the list [('a', 10), ('b', 20),
> ('c', 30)].

Hey not even a rebinding necessary. :-)

Ciao,
Marc 'BlackJack' Rintsch

 John Nagle 04-01-2008 05:48 PM

Re: Homework help

bobby.connor@gmail.com wrote:
> Hey guys
> I haev this homework assignment due today
> I don't necessarily want the answers, but need help on how to approach
> it/the steps i need to solve the problems
> Thanks
>
> # (2 Points) Write a python function howMany(item,lst) which accepts
> an item and a lst of items and returns the number of times item occurs
> in lst. For example, howMany(3,[1,2,3,2,3]) should return 2.

def howmany(item, lst) :
return(len(filter(lambda x: x==item, lst)))
>
> # (2 Points) Write a python function upTo(n) which accepts a non-
> negative number n and returns a list of numbers from 0 to n. For
> example, upTo(3) should return the list [0, 1, 2, 3].

def howmany(n) :
return(range(n+1))

That should get you started.

John Nagle

 Dan Upton 04-01-2008 06:00 PM

Re: Homework help

> > Write a function zip(lst1, lst2) such that zip accepts two equal
> > length lists and returns a list of pairs. For example, zip(['a', 'b',
> > 'c'], [10, 20, 30]) should evaluate to the list [('a', 10), ('b', 20),
> > ('c', 30)].

>
> Hey not even a rebinding necessary. :-)
>

We had some exercises like this in Scheme in my undergrad programming
languages class (specifically, rewriting map/mapcar). It's not that