# [Tutor] flow problem with a exercise

Roelof Wobben rwobben at hotmail.com
Sat Aug 21 11:57:06 CEST 2010

```

From: waynejwerner at gmail.com
Date: Fri, 20 Aug 2010 15:07:56 -0500
Subject: Re: [Tutor] flow problem with a exercise
To: rwobben at hotmail.com
CC: tutor at python.org

On Fri, Aug 20, 2010 at 2:48 PM, Roelof Wobben <rwobben at hotmail.com> wrote:

Oke,

I don''t understand it complety.

return not arg%2

Why use not here ?

I think that arg%2 is True not makes it false.

What happens when you replace arg with a value? % is modulo division, so it just returns the remainder.

2 % 2 = ?
2%2=0

4 % 2 = ?
4%2=0

7 % 2 = ?

7%2=1

11 % 2 = ?

11%2 =1

What is the truth value of 0 and 1?

print 'True' if 0 else 'False'

False

print 'True' if 1 else 'False'

True

So what is the outcome of the following?

result = 2 % 2
print result, not result
if not result:
print 'Even'
if result:
print 'odd'

0  True
Even

So 1 is True and 0 is False according to Python.

Another question.

How can I round outcome of a calculation.

round ( ( t-32)/1.8) does not work because I get a message that there are two arguments.

Outcome = (t-32)/1.8
outcome2 = round (outcome) does not work because the argument must be a string or a number

What is the type of t?

In [39]: t = 3

In [40]: round((t-32)/1.8)
Out[40]: -16.0

In [41]: t = 3.0

In [42]: round((t-32)/1.8)
Out[42]: -16.0

Works fine for me.

Correct,
But I see one wierd thing.

round ((42-32)/1.8) gives a output -16.0 but (42-32)/1.8) gives also -16.0
I was expectting that round will give 16 as output because round (32.0) is the same as round (32.0, 0) so there will be 0 decimals.
And I see one decimal.

Roelof

HTH,
Wayne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100821/00ea43c8/attachment-0001.html>
```