# Try This: Negative Hour Values

It’s important to note that negative hour values display the same way positive hour values do.

•     Try changing for hour in range(0, 12) to for hour in range(-12, 12) and run the modified script.

Does it cycle twice and respond to a value like -2 the same way it would treat 2?

### Did You Know?

A script can also make your micro:bit display the angle on its LED display.  Here is an example where the needle always points down.

The range of -179…180 has to be split into 12 segments for this to work.  For example, we want 0° to map to 3 o’clock.  But, we don’t want it to jump to 4 o’clock if it drops to -1.  It would be better to have the -15°…14° map to 3 o’clock.  Then, 15°…44° can map to 4 o’clock.  Likewise, -16°…-45° can map to 2 o’clock.

Here is a clever statement that does all this mapping:

```    # Point down

needle = ( angle + 90 + 15 ) // 30```

Here is an example of the steps in the calculation:

• 90  —  Add 90 to angle
• 105  —  Add 15 more (since we want -15°…14° to map to 3 o’clock)
• 3 —  Integer-divide by 30 (always rounds down)

Let’s see if -16° really does map to 2 o’clock

• 74  —  Add 90 to angle
• 89  —  Add 15 more (since we want -15°…14° to map to 3 o’clock)
• 2  — Integer-divide by 30.  The result is -2 with a remainder of 29, which rounds down to -2.

Clock values can be from -12 to 11.  Any negative value, like -2 is displayed as its positive counterpart, 2 o’clock in this case.
If you want the needle to point up instead, here is the statement to do it.  Instead of subtracting 90°, this statement adds 90° to angle.  The difference between -90° and 90° is 180 degrees.  In other words, the needle points in the opposite direction.

```    # Point up

needle = ( angle + 90 ) + 15 ) // 30```