Skip to content

Latest commit

 

History

History
224 lines (220 loc) · 5.65 KB

File metadata and controls

224 lines (220 loc) · 5.65 KB

Results of GPT-3.5 on HumanEval/134

Date: 18 July, 2023
Model: gpt-3.5-turbo
Temperature: 0.2
Passing runs: 9
Total runs: 10
Success rate: 90%

Prompt

Tokens: 163

def check_if_last_char_is_a_letter(txt):
    '''
    Create a function that returns True if the last character
    of a given string is an alphabetical character and is not
    a part of a word, and False otherwise.
    Note: "word" is a group of characters separated by space.

    Examples:
    check_if_last_char_is_a_letter("apple pie") ➞ False
    check_if_last_char_is_a_letter("apple pi e") ➞ True
    check_if_last_char_is_a_letter("apple pi e ") ➞ False
    check_if_last_char_is_a_letter("") ➞ False 
    '''

The above is an incomplete Python code fragment. Return the complete and correct code with no additional text.

Correct solution

def check_if_last_char_is_a_letter(txt):
    '''
    Create a function that returns True if the last character
    of a given string is an alphabetical character and is not
    a part of a word, and False otherwise.
    Note: "word" is a group of characters separated by space.

    Examples:
    check_if_last_char_is_a_letter("apple pie") ➞ False
    check_if_last_char_is_a_letter("apple pi e") ➞ True
    check_if_last_char_is_a_letter("apple pi e ") ➞ False
    check_if_last_char_is_a_letter("") ➞ False 
    '''check = txt.split(' ')[-1]
    return True if len(check) == 1 and (97 <= ord(check.lower()) <= 122) else False

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate("apple") == False
    assert candidate("apple pi e") == True
    assert candidate("eeeee") == False
    assert candidate("A") == True
    assert candidate("Pumpkin pie ") == False
    assert candidate("Pumpkin pie 1") == False
    assert candidate("") == False
    assert candidate("eeeee e ") == False
    assert candidate("apple pie") == False
    assert candidate("apple pi e ") == False

    # Check some edge cases that are easy to work out by hand.
    assert True

Runs

❌ Run 1

Start time: 2023-07-18 17:05:47
Duration: 45.51s
Completion tokens: 51
Result: Fail

def check_if_last_char_is_a_letter(txt):
    if txt == "":
        return False
    last_char = txt[-1]
    if last_char.isalpha() and last_char != " ":
        return True
    else:
        return False

✅ Run 2

Start time: 2023-07-18 17:05:44
Duration: 2.69s
Completion tokens: 63
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt.split()[-1]) > 1:
        return False
    return True

✅ Run 3

Start time: 2023-07-18 17:05:41
Duration: 3.33s
Completion tokens: 80
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt) == 1:
        return True
    second_last_char = txt[-2]
    if second_last_char.isalpha():
        return False
    return True

✅ Run 4

Start time: 2023-07-18 17:05:38
Duration: 2.73s
Completion tokens: 63
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt.split()[-1]) > 1:
        return False
    return True

✅ Run 5

Start time: 2023-07-18 17:05:35
Duration: 2.87s
Completion tokens: 62
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if last_char.isalpha() and (len(txt) == 1 or txt[-2] == ' '):
        return True
    return False

✅ Run 6

Start time: 2023-07-18 17:05:32
Duration: 3.09s
Completion tokens: 58
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if last_char.isalpha():
        if len(txt.split()[-1]) == 1:
            return True
    return False

✅ Run 7

Start time: 2023-07-18 17:05:28
Duration: 3.13s
Completion tokens: 63
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt.split()[-1]) > 1:
        return False
    return True

✅ Run 8

Start time: 2023-07-18 17:05:25
Duration: 3.45s
Completion tokens: 80
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt) == 1:
        return True
    second_last_char = txt[-2]
    if second_last_char.isalpha():
        return False
    return True

✅ Run 9

Start time: 2023-07-18 17:05:22
Duration: 3.1s
Completion tokens: 63
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt.split()[-1]) > 1:
        return False
    return True

✅ Run 10

Start time: 2023-07-18 17:05:19
Duration: 2.69s
Completion tokens: 63
Result: Pass

def check_if_last_char_is_a_letter(txt):
    if len(txt) == 0:
        return False
    last_char = txt[-1]
    if not last_char.isalpha():
        return False
    if len(txt.split()[-1]) > 1:
        return False
    return True