Skip to content

Latest commit

 

History

History
326 lines (285 loc) · 8.39 KB

File metadata and controls

326 lines (285 loc) · 8.39 KB

Results of GPT-3.5 on HumanEval/8

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

Prompt

Tokens: 136

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """

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

Correct solution

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """sum_value = 0
    prod_value = 1

    for n in numbers:
        sum_value += n
        prod_value *= n
    return sum_value, prod_value

Unit tests

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


def check(candidate):
    assert candidate([]) == (0, 1)
    assert candidate([1, 1, 1]) == (3, 1)
    assert candidate([100, 0]) == (100, 0)
    assert candidate([3, 5, 7]) == (3 + 5 + 7, 3 * 5 * 7)
    assert candidate([10]) == (10, 10)

Runs

✅ Run 1

Start time: 2023-07-18 17:29:09
Duration: 5.97s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    sum_numbers = sum(numbers)
    product_numbers = 1
    for num in numbers:
        product_numbers *= num
    
    return (sum_numbers, product_numbers)

✅ Run 2

Start time: 2023-07-18 17:29:02
Duration: 6.26s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    sum_result = sum(numbers)
    product_result = 1
    for num in numbers:
        product_result *= num
    
    return (sum_result, product_result)

✅ Run 3

Start time: 2023-07-18 17:28:56
Duration: 6.09s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return 0, 1
    else:
        sum_result = sum(numbers)
        product_result = 1
        for num in numbers:
            product_result *= num
        return sum_result, product_result

✅ Run 4

Start time: 2023-07-18 17:28:49
Duration: 7.11s
Completion tokens: 150
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    total_sum = sum(numbers)
    product = 1
    for num in numbers:
        product *= num
    
    return (total_sum, product)

✅ Run 5

Start time: 2023-07-18 17:28:43
Duration: 6.05s
Completion tokens: 150
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    total_sum = sum(numbers)
    product = 1
    for num in numbers:
        product *= num
    
    return (total_sum, product)

✅ Run 6

Start time: 2023-07-18 17:28:36
Duration: 6.84s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    sum_result = sum(numbers)
    product_result = 1
    for num in numbers:
        product_result *= num
    
    return (sum_result, product_result)

✅ Run 7

Start time: 2023-07-18 17:28:30
Duration: 5.72s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    sum_result = sum(numbers)
    product_result = 1
    for num in numbers:
        product_result *= num
    
    return (sum_result, product_result)

✅ Run 8

Start time: 2023-07-18 17:28:24
Duration: 6.46s
Completion tokens: 155
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    else:
        sum_result = sum(numbers)
        product_result = 1
        for num in numbers:
            product_result *= num
        return (sum_result, product_result)

✅ Run 9

Start time: 2023-07-18 17:28:18
Duration: 5.89s
Completion tokens: 155
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    else:
        sum_result = sum(numbers)
        product_result = 1
        for num in numbers:
            product_result *= num
        return (sum_result, product_result)

✅ Run 10

Start time: 2023-07-18 17:28:12
Duration: 5.81s
Completion tokens: 153
Result: Pass

from typing import List, Tuple


def sum_product(numbers: List[int]) -> Tuple[int, int]:
    """ For a given list of integers, return a tuple consisting of a sum and a product of all the integers in a list.
    Empty sum should be equal to 0 and empty product should be equal to 1.
    >>> sum_product([])
    (0, 1)
    >>> sum_product([1, 2, 3, 4])
    (10, 24)
    """
    if not numbers:
        return (0, 1)
    
    sum_result = sum(numbers)
    product_result = 1
    for num in numbers:
        product_result *= num
    
    return (sum_result, product_result)