Skip to content

Latest commit

 

History

History
340 lines (336 loc) · 12.8 KB

95.md

File metadata and controls

340 lines (336 loc) · 12.8 KB

Results of GPT-4 on HumanEval/95

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

Prompt

Tokens: 195

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """

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

Correct solution

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """if len(dict.keys()) == 0:
        return False
    else:
        state = "start"
        for key in dict.keys():

            if isinstance(key, str) == False:
                state = "mixed"
                break
            if state == "start":
                if key.isupper():
                    state = "upper"
                elif key.islower():
                    state = "lower"
                else:
                    break
            elif (state == "upper" and not key.isupper()) or (state == "lower" and not key.islower()):
                    state = "mixed"
                    break
            else:
                break
        return state == "upper" or state == "lower"

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate({"p":"pineapple", "b":"banana"}) == True, "First test error: " + str(candidate({"p":"pineapple", "b":"banana"}))
    assert candidate({"p":"pineapple", "A":"banana", "B":"banana"}) == False, "Second test error: " + str(candidate({"p":"pineapple", "A":"banana", "B":"banana"}))
    assert candidate({"p":"pineapple", 5:"banana", "a":"apple"}) == False, "Third test error: " + str(candidate({"p":"pineapple", 5:"banana", "a":"apple"}))
    assert candidate({"Name":"John", "Age":"36", "City":"Houston"}) == False, "Fourth test error: " + str(candidate({"Name":"John", "Age":"36", "City":"Houston"}))
    assert candidate({"STATE":"NC", "ZIP":"12345" }) == True, "Fifth test error: " + str(candidate({"STATE":"NC", "ZIP":"12345" }))      
    assert candidate({"fruit":"Orange", "taste":"Sweet" }) == True, "Fourth test error: " + str(candidate({"fruit":"Orange", "taste":"Sweet" }))      


    # Check some edge cases that are easy to work out by hand.
    assert candidate({}) == False, "1st edge test error: " + str(candidate({}))

Runs

✅ Run 1

Start time: 2023-07-18 18:18:29
Duration: 25.37s
Completion tokens: 237
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    else:
        keys = list(dict.keys())
        if all(isinstance(key, str) and key.islower() for key in keys):
            return True
        elif all(isinstance(key, str) and key.isupper() for key in keys):
            return True
        else:
            return False

✅ Run 2

Start time: 2023-07-18 18:18:12
Duration: 16.88s
Completion tokens: 237
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    else:
        keys = list(dict.keys())
        if all(isinstance(key, str) and key.islower() for key in keys):
            return True
        elif all(isinstance(key, str) and key.isupper() for key in keys):
            return True
        else:
            return False

✅ Run 3

Start time: 2023-07-18 18:17:50
Duration: 22.38s
Completion tokens: 237
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    else:
        keys = list(dict.keys())
        if all(isinstance(key, str) and key.islower() for key in keys):
            return True
        elif all(isinstance(key, str) and key.isupper() for key in keys):
            return True
        else:
            return False

✅ Run 4

Start time: 2023-07-18 18:17:31
Duration: 18.74s
Completion tokens: 234
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    keys = list(dict.keys())
    if all(isinstance(key, str) and key.islower() for key in keys):
        return True
    elif all(isinstance(key, str) and key.isupper() for key in keys):
        return True
    else:
        return False

✅ Run 5

Start time: 2023-07-18 18:17:13
Duration: 17.99s
Completion tokens: 234
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    keys = list(dict.keys())
    if all(isinstance(key, str) and key.islower() for key in keys):
        return True
    elif all(isinstance(key, str) and key.isupper() for key in keys):
        return True
    else:
        return False

✅ Run 6

Start time: 2023-07-18 18:16:56
Duration: 16.54s
Completion tokens: 234
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    keys = list(dict.keys())
    if all(isinstance(key, str) and key.islower() for key in keys):
        return True
    elif all(isinstance(key, str) and key.isupper() for key in keys):
        return True
    else:
        return False

✅ Run 7

Start time: 2023-07-18 18:16:48
Duration: 7.89s
Completion tokens: 80
Result: Pass

def check_dict_case(dict):
    if not dict:
        return False
    else:
        keys = list(dict.keys())
        if all(isinstance(key, str) and key.islower() for key in keys):
            return True
        elif all(isinstance(key, str) and key.isupper() for key in keys):
            return True
        else:
            return False

✅ Run 8

Start time: 2023-07-18 18:16:39
Duration: 9.69s
Completion tokens: 77
Result: Pass

def check_dict_case(dict):
    if not dict:
        return False
    keys = list(dict.keys())
    if all(isinstance(key, str) and key.islower() for key in keys):
        return True
    elif all(isinstance(key, str) and key.isupper() for key in keys):
        return True
    else:
        return False

✅ Run 9

Start time: 2023-07-18 18:16:21
Duration: 17.88s
Completion tokens: 237
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    else:
        keys = list(dict.keys())
        if all(isinstance(key, str) and key.islower() for key in keys):
            return True
        elif all(isinstance(key, str) and key.isupper() for key in keys):
            return True
        else:
            return False

✅ Run 10

Start time: 2023-07-18 18:16:01
Duration: 19.17s
Completion tokens: 234
Result: Pass

def check_dict_case(dict):
    """
    Given a dictionary, return True if all keys are strings in lower 
    case or all keys are strings in upper case, else return False.
    The function should return False is the given dictionary is empty.
    Examples:
    check_dict_case({"a":"apple", "b":"banana"}) should return True.
    check_dict_case({"a":"apple", "A":"banana", "B":"banana"}) should return False.
    check_dict_case({"a":"apple", 8:"banana", "a":"apple"}) should return False.
    check_dict_case({"Name":"John", "Age":"36", "City":"Houston"}) should return False.
    check_dict_case({"STATE":"NC", "ZIP":"12345" }) should return True.
    """
    if not dict:
        return False
    keys = list(dict.keys())
    if all(isinstance(key, str) and key.islower() for key in keys):
        return True
    elif all(isinstance(key, str) and key.isupper() for key in keys):
        return True
    else:
        return False