Skip to content

Latest commit

 

History

History
272 lines (256 loc) · 7.55 KB

140.md

File metadata and controls

272 lines (256 loc) · 7.55 KB

Results of GPT-4 on HumanEval/140

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

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:54:12
Duration: 12.0s
Completion tokens: 134
Result: Fail

import re

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"
    """
    text = re.sub(' {2,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

❌ Run 2

Start time: 2023-07-18 17:54:00
Duration: 11.63s
Completion tokens: 130
Result: Fail

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 - 
    """
    import re
    text = re.sub(' {2,}', '-', text)
    text = text.replace(' ', '_')
    return text

✅ Run 3

Start time: 2023-07-18 17:53:46
Duration: 14.31s
Completion tokens: 191
Result: Pass

import re

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 - 
    """
    text = re.sub(' {3,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

✅ Run 4

Start time: 2023-07-18 17:53:37
Duration: 8.45s
Completion tokens: 81
Result: Pass

import re

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 - 
    """
    text = re.sub(' {3,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

✅ Run 5

Start time: 2023-07-18 17:53:26
Duration: 11.5s
Completion tokens: 135
Result: Pass

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"
    """
    import re
    text = re.sub(' {3,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

✅ Run 6

Start time: 2023-07-18 17:53:06
Duration: 19.75s
Completion tokens: 203
Result: Pass

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 - 
    """
    import re
    text = re.sub(' {3,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

print(fix_spaces("Example")) # "Example"
print(fix_spaces("Example 1")) # "Example_1"
print(fix_spaces(" Example 2")) # "_Example_2"
print(fix_spaces(" Example   3")) # "_Example-3"

❌ Run 7

Start time: 2023-07-18 17:52:56
Duration: 10.09s
Completion tokens: 138
Result: Fail

import re

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 - 
    """
    text = re.sub(' {2,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

print(fix_spaces("Example")) # "Example"
print(fix_spaces("Example 1")) # "Example_1"
print(fix_spaces(" Example 2")) # "_Example_2"
print(fix_spaces(" Example   3")) # "_Example-3"

❌ Run 8

Start time: 2023-07-18 17:52:39
Duration: 17.01s
Completion tokens: 202
Result: Fail

import re

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 - 
    """
    text = re.sub(' {2,}', '-', text)
    text = re.sub(' ', '_', text)
    return text

print(fix_spaces("Example")) # "Example"
print(fix_spaces("Example 1")) # "Example_1"
print(fix_spaces(" Example 2")) # "_Example_2"
print(fix_spaces(" Example   3")) # "_Example-3"

❌ Run 9

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

import re

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 - 
    """
    text = re.sub(' {2,}', '-', text)
    text = text.replace(' ', '_')
    return text

✅ Run 10

Start time: 2023-07-18 17:52:11
Duration: 12.84s
Completion tokens: 154
Result: Pass

import re

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 - 
    """
    text = re.sub(' {3,}', '-', text)
    text = text.replace(' ', '_')
    return text