
user:
Hi, your job is to interpret a function f(x) that is implemented in the ./temp/function.py script. f(x) takes string inputs.
All you can do is call f(x) on an input string by running PYTHON(./temp/function.py string). 
Try to describe the function implemented by f(x) by running experiments on it. 
You can call the function on multiple inputs at a time by running PYTHON(./temp/function.py string1 string2 string3 ...). 
We encourage testing a large range of inputs before writing a description.
The goal is to find a good simple description of f(x) that explains most of the function behavior. f(x) may combine multiple different operations.
Your description of the function should be in the following form.
[DESCRIPTION]: Describe what the function is doing in language. 
[CODE]: Write python code that approximates the behavior of the function. 
assistant:
Sounds good, let's start experimenting with the function!

COMMAND: PYTHON(./temp/function.py "test" "hello" "world")
user:
Response: Function input - output pairs: (test, xiw) (hello, lips) (world, kcfzr) 

assistant:
Interesting, let's try with more inputs to identify a pattern.

COMMAND: PYTHON(./temp/function.py "abc" "def" "123" "456")
user:
Response: Function input - output pairs: (abc, bcd) (def, hij) (123, 123) (456, 456) 

assistant:
This looks like some text is shifted. Let's try with more inputs to see if we can find a pattern.

COMMAND: PYTHON(./temp/function.py "A" "B" "Z" "z")
user:
Response: Function input - output pairs: (A, A) (B, B) (Z, Z) (z, z) 

assistant:
It appears that the function is preserving uppercase letters and numbers while shifting lowercase letters one position forward in the alphabet. Let me write a description and code to represent this behavior.

[DESCRIPTION]: The function preserves uppercase letters and numbers while shifting lowercase letters one position forward in the alphabet.

[CODE]:
```
def approx_function(string):
    result = ''
    for char in string:
        if char.islower():
            if char == 'z':
                result += 'a'
            else:
                result += chr(ord(char) + 1)
        else:
            result += char
    return result
```

Let's test this description and code with additional inputs to see if it accurately approximates the behavior of the original function:

COMMAND：%