Can anyone else help with this question? On Thu, Dec 1, 2011 at 12:17 PM, Dave Angel <d...@davea.name> wrote:
> (You top-posted, so I'm deleting all the out-of-order stuff. in these > forums, you should put your response after whatever you quote.) > > > On 12/01/2011 02:55 PM, Michael Hall wrote: > >> The OP has been taught but is still having an issue and all I am doing is >> asking for help. Here is what I have so far >> >> # 1) a perfect number is a positive integer that is equal to the >> # sum of its proper positive divisors,excluding the number itself. >> # for example, 6 is a perfect number because it is evenly divisible >> # by 1, 2 and 3 - all of it's divisors - and the sum 1 + 2 + 3 = 6. >> # a) write a function, getDivisors(), that returns a list of all >> # of the positive divisors of a given number. for example - >> # result = getDivisors(24) >> # print(result) >> # would yield: "[ 1, 2, 3, 4, 6, 8, 12]" >> >> def main(): >> x = 1 >> >> num = int(input('Please Enter a Number: ')) >> getDivisors(num) >> > > You'll want to store the return value of getDivisors, since you have more > work to do there. > > > >> def getDivisors(num): >> sum = 0 >> x = 1 >> #my_list[] = num >> > > That's close. To create an empty list, simply do > my_list = [] > > > for num in range(1, num, 1): >> >> if num % x == 0: >> print(num) >> sum += num >> > Why are you summing it? That was in another function. In this one, > you're trying to build a list. Any ideas how to do that at this point in > the function? > > >> print('The sum is ', sum) >> if sum == num: >> print(num, 'is a perfect number') >> else: >> print(num, 'is not a perfect number') >> > None of these lines belong in your function. All it's supposed to do is > get the divisors, not to study them in any way. > > >> main() >> > > > > -- > > DaveA >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor