Range Over Built in Logo

Based on the instructions and the input provided, here is the translation from the original Go code example to Python along with the explanation.

Python does not have a range function that works exactly like it does in the provided Go code example for slices, maps, and strings, but it does offer similar constructs. Here is how you can translate those examples idiomatically in Python:

`range` iterates over elements in a variety of built-in data structures. Let’s see how to use `range` with some of the data structures we’ve already learned.

```python
# Here we use `range` to sum the numbers in a list.
nums = [2, 3, 4]
sum = 0
for num in nums:
    sum += num
print("sum:", sum)

range on lists provides both the index and value for each entry. Above we didn’t need the index, so we ignored it with the blank identifier _. Sometimes we actually want the indexes though.

# Enumerate function gives us the index and value.
for i, num in enumerate(nums):
    if num == 3:
        print("index:", i)

rang on dictionaries iterates over key/value pairs.

# Create a dictionary.
kvs = {"a": "apple", "b": "banana"}
for k, v in kvs.items():
    print(f"{k} -> {v}")

range can also iterate over just the keys of a dictionary.

for k in kvs:
    print("key:", k)

range on strings iterates over Unicode code points. The first value is the starting byte index of the character and the second the character itself.

for i, c in enumerate("go"):
    print(i, ord(c))

Running this Python code will give the following output:

$ python script.py
sum: 9
index: 1
a -> apple
b -> banana
key: a
key: b
0 103
1 111

Next example: [Pointers](https://example-pointers.com).