Skip to content

Latest commit

 

History

History
188 lines (184 loc) · 5.14 KB

File metadata and controls

188 lines (184 loc) · 5.14 KB

Results of GPT-3.5 on HumanEval/146

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

Prompt

Tokens: 145

def specialFilter(nums):
    """Write a function that takes an array of numbers as input and returns 
    the number of elements in the array that are greater than 10 and both 
    first and last digits of a number are odd (1, 3, 5, 7, 9).
    For example:
    specialFilter([15, -73, 14, -15]) => 1 
    specialFilter([33, -2, -3, 45, 21, 109]) => 2
    """

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

Correct solution

def specialFilter(nums):
    """Write a function that takes an array of numbers as input and returns 
    the number of elements in the array that are greater than 10 and both 
    first and last digits of a number are odd (1, 3, 5, 7, 9).
    For example:
    specialFilter([15, -73, 14, -15]) => 1 
    specialFilter([33, -2, -3, 45, 21, 109]) => 2
    """count = 0
    for num in nums:
        if num > 10:
            odd_digits = (1, 3, 5, 7, 9)
            number_as_string = str(num)
            if int(number_as_string[0]) in odd_digits and int(number_as_string[-1]) in odd_digits:
                count += 1
        
    return count

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate([5, -2, 1, -5]) == 0  
    assert candidate([15, -73, 14, -15]) == 1
    assert candidate([33, -2, -3, 45, 21, 109]) == 2
    assert candidate([43, -12, 93, 125, 121, 109]) == 4
    assert candidate([71, -2, -33, 75, 21, 19]) == 3


    # Check some edge cases that are easy to work out by hand.
    assert candidate([1]) == 0              
    assert candidate([]) == 0

Runs

✅ Run 1

Start time: 2023-07-18 17:04:14
Duration: 3.5s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 2

Start time: 2023-07-18 17:04:10
Duration: 3.55s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 3

Start time: 2023-07-18 17:04:07
Duration: 3.19s
Completion tokens: 68
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10:
            str_num = str(num)
            if int(str_num[0]) % 2 != 0 and int(str_num[-1]) % 2 != 0:
                count += 1
    return count

✅ Run 4

Start time: 2023-07-18 17:04:03
Duration: 3.44s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 5

Start time: 2023-07-18 17:04:00
Duration: 3.65s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 6

Start time: 2023-07-18 17:03:56
Duration: 3.65s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 7

Start time: 2023-07-18 17:03:53
Duration: 3.38s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 8

Start time: 2023-07-18 17:03:18
Duration: 34.28s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 9

Start time: 2023-07-18 17:03:14
Duration: 4.0s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count

✅ Run 10

Start time: 2023-07-18 17:03:11
Duration: 3.49s
Completion tokens: 76
Result: Pass

def specialFilter(nums):
    count = 0
    for num in nums:
        if num > 10 and str(num)[0] in ['1', '3', '5', '7', '9'] and str(num)[-1] in ['1', '3', '5', '7', '9']:
            count += 1
    return count