Skip to content

Latest commit

 

History

History
217 lines (213 loc) · 5.51 KB

File metadata and controls

217 lines (213 loc) · 5.51 KB

Results of GPT-3.5 on HumanEval/140

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

Prompt

Tokens: 132

def fix_spaces(text):
    """
    Given a string text, replace all spaces in it with underscores, 
    and if a string has more than 2 consecutive spaces, 
    then replace all consecutive spaces with - 
    
    fix_spaces("Example") == "Example"
    fix_spaces("Example 1") == "Example_1"
    fix_spaces(" Example 2") == "_Example_2"
    fix_spaces(" Example   3") == "_Example-3"
    """

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

Correct solution

def fix_spaces(text):
    """
    Given a string text, replace all spaces in it with underscores, 
    and if a string has more than 2 consecutive spaces, 
    then replace all consecutive spaces with - 
    
    fix_spaces("Example") == "Example"
    fix_spaces("Example 1") == "Example_1"
    fix_spaces(" Example 2") == "_Example_2"
    fix_spaces(" Example   3") == "_Example-3"
    """new_text = ""
    i = 0
    start, end = 0, 0
    while i < len(text):
        if text[i] == " ":
            end += 1
        else:
            if end - start > 2:
                new_text += "-"+text[i]
            elif end - start > 0:
                new_text += "_"*(end - start)+text[i]
            else:
                new_text += text[i]
            start, end = i+1, i+1
        i+=1
    if end - start > 2:
        new_text += "-"
    elif end - start > 0:
        new_text += "_"
    return new_text

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate("Example") == "Example", "This prints if this assert fails 1 (good for debugging!)"
    assert candidate("Mudasir Hanif ") == "Mudasir_Hanif_", "This prints if this assert fails 2 (good for debugging!)"
    assert candidate("Yellow Yellow  Dirty  Fellow") == "Yellow_Yellow__Dirty__Fellow", "This prints if this assert fails 3 (good for debugging!)"
    
    # Check some edge cases that are easy to work out by hand.
    assert candidate("Exa   mple") == "Exa-mple", "This prints if this assert fails 4 (good for debugging!)"
    assert candidate("   Exa 1 2 2 mple") == "-Exa_1_2_2_mple", "This prints if this assert fails 4 (good for debugging!)"

Runs

✅ Run 1

Start time: 2023-07-18 17:05:40
Duration: 2.86s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

✅ Run 2

Start time: 2023-07-18 17:05:37
Duration: 3.07s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

✅ Run 3

Start time: 2023-07-18 17:05:34
Duration: 3.0s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

❌ Run 4

Start time: 2023-07-18 17:05:32
Duration: 2.02s
Completion tokens: 26
Result: Fail

def fix_spaces(text):
    text = text.replace(" ", "_")
    text = text.replace("__", "-")
    return text

❌ Run 5

Start time: 2023-07-18 17:05:29
Duration: 3.52s
Completion tokens: 70
Result: Fail

def fix_spaces(text):
    text = text.replace(" ", "_")
    count = 0
    result = ""
    for char in text:
        if char == "_":
            count += 1
            if count > 2:
                result += "-"
        else:
            count = 0
        result += char
    return result

❌ Run 6

Start time: 2023-07-18 17:05:27
Duration: 1.85s
Completion tokens: 26
Result: Fail

def fix_spaces(text):
    text = text.replace(" ", "_")
    text = text.replace("__", "-")
    return text

✅ Run 7

Start time: 2023-07-18 17:04:52
Duration: 34.61s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

✅ Run 8

Start time: 2023-07-18 17:04:49
Duration: 2.88s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

✅ Run 9

Start time: 2023-07-18 17:04:46
Duration: 2.83s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text

✅ Run 10

Start time: 2023-07-18 17:04:12
Duration: 34.0s
Completion tokens: 67
Result: Pass

def fix_spaces(text):
    text = text.replace(" ", "_")
    i = 0
    while i < len(text) - 2:
        if text[i:i+3] == "___":
            text = text[:i] + "-" + text[i+3:]
        i += 1
    return text