(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