Harold Nelson

4/3/2018

`## Warning: package 'reticulate' was built under R version 3.4.4`

There is more than one way to determine if a given character is a lower case letter. We want to compare the times required by the various possibilities.

One simple way is to ask if the given character is in a string containing all of the letters of the alphabet.

```
import time
start_time = time.time()
x = 'a'
# Modify the size of the range to get about 1 second.
for i in range(10000000):
ans = x in 'abcdefghijklmnopqrstuvwxyz'
end_time = time.time()
print(end_time - start_time)
```

`## 1.0520730018615723`

Another method is to use the ord() function which provides a numerical value for each character. If our character has a value between the ordinal values of ‘a’ and ‘z’.

Do this one as an exercise

```
# Now for using the ord function
start_time = time.time()
x = 'a'
for i in range(10000000):
lo = ord('a')
hi = ord('z')
ans = ord(x) >= lo and ord(x) <= hi
end_time = time.time()
print(end_time - start_time)
# Second use of ord
```

`## 5.625036716461182`

```
start_time = time.time()
x = 'a'
for i in range(10000000):
lo = ord('a')
hi = ord('z')
ordx = ord(x)
ans = ordx >= lo and ordx <= hi
end_time = time.time()
print(end_time - start_time)
```

`## 4.84155011177063`

How much are these calls to get ord(‘a’) and ord(‘z’) costing us?

```
# Now for using the ord function
start_time = time.time()
x = 'a'
for i in range(10000000):
ans = ord(x) >= 97 and ord(x) <= 122
end_time = time.time()
print(end_time - start_time)
# Second use of ord
```

`## 2.9012949466705322`

```
start_time = time.time()
x = 'a'
for i in range(10000000):
ordx = ord(x)
ans = ordx >= 97 and ordx <= 122
end_time = time.time()
print(end_time - start_time)
```

`## 2.4373362064361572`