Bella - 1 year ago 85

Python Question

I have searched the internet and tried variations of the code, but I just don't see why I get the Output "None" between the results, when I work on the PS 2 in Lesson 2 of Udacity's Intro to Computer Science.

Here is the PS and my current status:

`# Define a procedure, stamps, which takes as its input a positive integer in`

# pence and returns the number of 5p, 2p and 1p stamps (p is pence) required

# to make up that value. The return value should be a tuple of three numbers

# (that is, your return statement should be followed by the number of 5p,

# the number of 2p, and the nuber of 1p stamps).

#

# Your answer should use as few total stamps as possible by first using as

# many 5p stamps as possible, then 2 pence stamps and finally 1p stamps as

# needed to make up the total.

#

def stamps(n):

if n > 0:

five = n / 5

two = n % 5 / 2

one = n % 5 % 2

print (five, two, one)

else:

print (0, 0, 0)

print stamps(8)

#>>> (1, 1, 1) # one 5p stamp, one 2p stamp and one 1p stamp

print stamps(5)

#>>> (1, 0, 0) # one 5p stamp, no 2p stamps and no 1p stamps

print stamps(29)

#>>> (5, 2, 0) # five 5p stamps, two 2p stamps and no 1p stamps

print stamps(0)

#>>> (0, 0, 0) # no 5p stamps, no 2p stamps and no 1p stamps

which produces the output:

`(1, 1, 1)`

None

(1, 0, 0)

None

(5, 2, 0)

None

(0, 0, 0)

None

Can anyone please explain where the the "None" is coming from?

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

You are calling the function that prints the result and then you are printing the function's return value which is `None`

.

You should pick one method of displaying the data. Either print only inside the function:

```
def stamps(n):
if n > 0:
five = n / 5
two = n % 5 / 2
one = n % 5 % 2
print five, two, one
else:
print 0, 0, 0
stamps(8)
stamps(5)
stamps(29)
stamps(0)
```

Or use `return`

:

```
def stamps(n):
if n > 0:
five = n / 5
two = n % 5 / 2
one = n % 5 % 2
return five, two, one
else:
return 0, 0, 0
print stamps(8)
print stamps(5)
print stamps(29)
print stamps(0)
```

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**