Skip to content

Latest commit

 

History

History
268 lines (244 loc) · 6.68 KB

5.md

File metadata and controls

268 lines (244 loc) · 6.68 KB

Results of GPT-4 on HumanEval/5

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

Prompt

Tokens: 118

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """

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

Correct solution

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """if not numbers:
        return []

    result = []

    for n in numbers[:-1]:
        result.append(n)
        result.append(delimeter)

    result.append(numbers[-1])

    return result

Unit tests

METADATA = {
    'author': 'jt',
    'dataset': 'test'
}


def check(candidate):
    assert candidate([], 7) == []
    assert candidate([5, 6, 3, 2], 8) == [5, 8, 6, 8, 3, 8, 2]
    assert candidate([2, 2, 2], 2) == [2, 2, 2, 2, 2]

Runs

✅ Run 1

Start time: 2023-07-18 18:56:20
Duration: 10.04s
Completion tokens: 120
Result: Pass

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for num in numbers:
        result += [num, delimeter]
    return result[:-1] if result else result

✅ Run 2

Start time: 2023-07-18 18:56:11
Duration: 9.34s
Completion tokens: 120
Result: Pass

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in numbers:
        result.extend([i, delimeter])
    return result[:-1] if result else result

✅ Run 3

Start time: 2023-07-18 18:56:01
Duration: 9.46s
Completion tokens: 125
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in range(len(numbers)):
        if i != 0:
            result.append(delimeter)
        result.append(numbers[i])
    return result

✅ Run 4

Start time: 2023-07-18 18:55:50
Duration: 11.08s
Completion tokens: 120
Result: Pass

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in numbers:
        result.extend([i, delimeter])
    return result[:-1] if result else result

✅ Run 5

Start time: 2023-07-18 18:55:39
Duration: 11.24s
Completion tokens: 120
Result: Pass

from typing import List


def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in numbers:
        result.extend([i, delimeter])
    return result[:-1] if result else result

✅ Run 6

Start time: 2023-07-18 18:55:28
Duration: 10.58s
Completion tokens: 120
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in numbers:
        result.extend([i, delimeter])
    return result[:-1] if result else result

✅ Run 7

Start time: 2023-07-18 18:55:19
Duration: 8.96s
Completion tokens: 120
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for num in numbers:
        result.extend([num, delimeter])
    return result[:-1] if result else result

✅ Run 8

Start time: 2023-07-18 18:55:10
Duration: 8.93s
Completion tokens: 125
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for i in range(len(numbers)):
        if i != 0:
            result.append(delimeter)
        result.append(numbers[i])
    return result

✅ Run 9

Start time: 2023-07-18 18:54:59
Duration: 11.03s
Completion tokens: 120
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for num in numbers:
        result.extend([num, delimeter])
    return result[:-1] if result else result

✅ Run 10

Start time: 2023-07-18 18:54:50
Duration: 9.23s
Completion tokens: 120
Result: Pass

from typing import List

def intersperse(numbers: List[int], delimeter: int) -> List[int]:
    """ Insert a number 'delimeter' between every two consecutive elements of input list `numbers'
    >>> intersperse([], 4)
    []
    >>> intersperse([1, 2, 3], 4)
    [1, 4, 2, 4, 3]
    """
    result = []
    for num in numbers:
        result.extend([num, delimeter])
    return result[:-1] if result else result