## `ord()` and `chr()`

In Python, strings don't support most arithmetic operations:

```python
# No good!
"D" - "F"
"Harry" * "Joel"
```

There are some cases where it's convenient to think about the "difference" between two strings.

- *How many letters are between C and Q?*
- *What's the 12th letter of the alphabet?*

There are two functions that help us out here:
- `ord(character)` turns a string of a **single character** into a number.
  - `ord("A")` is 65, `ord("B")` is 66
  - `ord("a")` is 97, `ord("b")` is 98
- `chr(ordinal)` does the reverse, turning a number into the corresponding character
  - `chr(65)` is `"A"`, `chr(98)` is `"b"`

**How Many Letters Between C and Q?**

```python
distance = ord("Q") - ord("C")
print(distance)
```


**What's the 12th Letter of the Alphabet?**

```python
first_ordinal = ord("A")
twelfth_ordinal = first_ordinal + 11
twelfth_letter = chr(twelfth_ordinal)
print(twelfth_letter)
```

**All Letters of the English Alphabet**
```python
first_ordinal = ord("A")
for i in range(26):
  print(f"{chr(first_ordinal + i)}: {i}")
```