Skip to content

Latest commit

 

History

History
199 lines (197 loc) · 5.04 KB

File metadata and controls

199 lines (197 loc) · 5.04 KB

Results of GPT-3.5 on HumanEval/108

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

Prompt

Tokens: 150

def count_nums(arr):
    """
    Write a function count_nums which takes an array of integers and returns
    the number of elements which has a sum of digits > 0.
    If a number is negative, then its first signed digit will be negative:
    e.g. -123 has signed digits -1, 2, and 3.
    >>> count_nums([]) == 0
    >>> count_nums([-1, 11, -11]) == 1
    >>> count_nums([1, 1, 2]) == 3
    """

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

Correct solution

def count_nums(arr):
    """
    Write a function count_nums which takes an array of integers and returns
    the number of elements which has a sum of digits > 0.
    If a number is negative, then its first signed digit will be negative:
    e.g. -123 has signed digits -1, 2, and 3.
    >>> count_nums([]) == 0
    >>> count_nums([-1, 11, -11]) == 1
    >>> count_nums([1, 1, 2]) == 3
    """def digits_sum(n):
        neg = 1
        if n < 0: n, neg = -1 * n, -1 
        n = [int(i) for i in str(n)]
        n[0] = n[0] * neg
        return sum(n)
    return len(list(filter(lambda x: x > 0, [digits_sum(i) for i in arr])))

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate([]) == 0
    assert candidate([-1, -2, 0]) == 0
    assert candidate([1, 1, 2, -2, 3, 4, 5]) == 6
    assert candidate([1, 6, 9, -6, 0, 1, 5]) == 5
    assert candidate([1, 100, 98, -7, 1, -1]) == 4
    assert candidate([12, 23, 34, -45, -56, 0]) == 5
    assert candidate([-0, 1**0]) == 1
    assert candidate([1]) == 1

    # Check some edge cases that are easy to work out by hand.
    assert True, "This prints if this assert fails 2 (also good for debugging!)"

Runs

❌ Run 1

Start time: 2023-07-18 17:10:26
Duration: 2.28s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 2

Start time: 2023-07-18 17:10:24
Duration: 2.43s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 3

Start time: 2023-07-18 17:10:21
Duration: 2.48s
Completion tokens: 56
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 4

Start time: 2023-07-18 17:10:19
Duration: 2.32s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 5

Start time: 2023-07-18 17:10:16
Duration: 2.3s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 6

Start time: 2023-07-18 17:10:14
Duration: 2.3s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 7

Start time: 2023-07-18 17:10:12
Duration: 2.27s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 8

Start time: 2023-07-18 17:10:09
Duration: 2.49s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 9

Start time: 2023-07-18 17:10:06
Duration: 2.7s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count

❌ Run 10

Start time: 2023-07-18 17:10:04
Duration: 2.69s
Completion tokens: 52
Result: Fail

def count_nums(arr):
    count = 0
    for num in arr:
        sum_of_digits = sum(int(digit) for digit in str(abs(num)))
        if sum_of_digits > 0:
            count += 1
    return count