struggling with these problems

S

su29090

1.Given that worst_offenders has been defined as a list with at least 6 elements, write a statement that defines lesser_offenders to be a new list that contains all the elements from index 5 of worst_offenders and beyond. Do not modify worst_offenders .

I tried this but it didn't work:

lesser_offenders = worst_offenders[5:6]

2.Given a variable temps that refers to a list, all of whose elements refer to values of type float , representing temperature data, compute the average temperature and assign it to a variable named avg_temp . Besides temps and avg_temp , you may use two other variables -- k and total .


I'm not sure about this one but this is what I have:

for k in range(len(temps)):
total += temps[k]

avg_temp = total / len(temps)

3.Associate the sum of the non-negative values in the list numbers with the variable sum .

is it this:

for numbers in sum:
if sum +=?

I'm confused at #3 the most

i'm not doing it in python 3.2.3 it's called Myprogramminglab.
 
M

MRAB

1.Given that worst_offenders has been defined as a list with at least 6 elements, write a statement that defines lesser_offenders to be a new list that contains all the elements from index 5 of worst_offenders and beyond. Do not modify worst_offenders .

I tried this but it didn't work:

lesser_offenders = worst_offenders[5:6]
Python uses half-open ranges (and counts from 0), which means that the
start index is included and the end index is excluded.

Therefore, worst_offenders[5:6] means the slice from index 5 up to, but
excluding, index 6; in other words, an empty list.

The question says "and beyond"; in Python you can just omit the end
index to indicate everything up to the end.
2.Given a variable temps that refers to a list, all of whose elements refer to values of type float , representing temperature data, compute the average temperature and assign it to a variable named avg_temp . Besides temps and avg_temp , you may use two other variables -- k and total .


I'm not sure about this one but this is what I have:

for k in range(len(temps)):
total += temps[k]

avg_temp = total / len(temps)
You didn't set the initial value of total, which is 0.
3.Associate the sum of the non-negative values in the list numbers with the variable sum .

is it this:

for numbers in sum:
if sum +=?

I'm confused at #3 the most
Well, that's not valid Python.

What you want to do is to add each number from the list to the sum only
if it's non-negative, i.e. greater than or equal to 0.
i'm not doing it in python 3.2.3 it's called Myprogramminglab.
Have a look at Dive Into Python:
http://www.diveintopython.net/
 
S

Steven D'Aprano

Python uses half-open ranges (and counts from 0), which means that the
start index is included and the end index is excluded.

Therefore, worst_offenders[5:6] means the slice from index 5 up to, but
excluding, index 6; in other words, an empty list.

Er, no. It's a one-element list: index 5 is included, index 6 is excluded.

py> L = list("abcdefgh")
py> L[5:6]
['f']
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,821
Latest member
AleidaSchi

Latest Threads

Top