# Practice Makes Perfect -- product

#1

Practice Makes Perfect : product

The emulator returns the following error:
Oops, try again. Your function crashed on [1, 2] as input because your function throws a "list index out of range" error.

When I run this on my laptop, it works as expected.

``````def product(numbers):
a = numbers[0]
b = numbers[1]
c = numbers[2]
total = a * b * c

first_number = int(raw_input('Enter a number:  '))
second_number = int(raw_input('Enter a second number:  '))
third_number = int(raw_input('Enter a third number:  '))
numbers = list()
for x in first_number, second_number, third_number:
numbers.append(x)
print product(numbers)``````

#2

We'll want our function to take a list of any length. Your method is very fixed and depends upon a 3 member list every time.

Not sure this is valid code unless Python is treating the comma separated list as a tuple.

#3

The specs for the exercise were to multiply a list of three integers. I wrote my code with that in mind. If I take the commas out, the emulator complains about a syntax error in the "for" statement.

#4

My apologies for my first statement. I got the idea for "three" from the example given on the page.

#5

I just tested this and Python does treat it as a tuple.

`````` > a,b,c = 4,5,6
> y = 1
> for x in a,b,c:
..   y *= x
..
> y
=> 120``````

At any length, this is not the way to a usable function. Work with lists of any length.

#6

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.