Skip to content

Latest commit

 

History

History
255 lines (252 loc) · 8.97 KB

File metadata and controls

255 lines (252 loc) · 8.97 KB

Results of Code LLama 34B on HumanEval/117

Date: 01 September, 2023
Model: codellama-34b-instruct
Temperature: 0.2
Passing runs: 0
Total runs: 10
Success rate: 0%

Prompt

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """

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

Correct solution

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """result = []
    for word in s.split():
        n_consonants = 0
        for i in range(0, len(word)):
            if word[i].lower() not in ["a","e","i","o","u"]:
                n_consonants += 1 
        if n_consonants == n:
            result.append(word)
    return result

Unit tests

def check(candidate):

    # Check some simple cases
    assert candidate("Mary had a little lamb", 4) == ["little"], "First test error: " + str(candidate("Mary had a little lamb", 4))      
    assert candidate("Mary had a little lamb", 3) == ["Mary", "lamb"], "Second test error: " + str(candidate("Mary had a little lamb", 3))  
    assert candidate("simple white space", 2) == [], "Third test error: " + str(candidate("simple white space", 2))      
    assert candidate("Hello world", 4) == ["world"], "Fourth test error: " + str(candidate("Hello world", 4))  
    assert candidate("Uncle sam", 3) == ["Uncle"], "Fifth test error: " + str(candidate("Uncle sam", 3))


    # Check some edge cases that are easy to work out by hand.
    assert candidate("", 4) == [], "1st edge test error: " + str(candidate("", 4))
    assert candidate("a b c d e f", 1) == ["b", "c", "d", "f"], "2nd edge test error: " + str(candidate("a b c d e f", 1))

Runs

❌ Run 1

Start time: 2023-09-01 02:46:42
Duration: 3.27s
Result: Fail

def select_words(s, n):
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 2

Start time: 2023-09-01 02:49:40
Duration: 10.28s
Result: Fail

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """
    words = s.split()
    result = []
    for word in words:
        if len(word) == n:
            result.append(word)
    return result

❌ Run 3

Start time: 2023-09-01 02:52:38
Duration: 3.87s
Result: Fail

def select_words(s, n):
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 4

Start time: 2023-09-01 02:55:29
Duration: 3.35s
Result: Fail

def select_words(s, n):
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 5

Start time: 2023-09-01 02:58:30
Duration: 10.38s
Result: Fail

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """
    words = s.split()
    result = []
    for word in words:
        if len(word) == n:
            result.append(word)
    return result

❌ Run 6

Start time: 2023-09-01 03:01:35
Duration: 11.11s
Result: Fail

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 7

Start time: 2023-09-01 03:04:33
Duration: 10.62s
Result: Fail

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """
    words = s.split()
    result = []
    for word in words:
        if len(word) == n:
            result.append(word)
    return result

❌ Run 8

Start time: 2023-09-01 03:07:35
Duration: 4.33s
Result: Fail

def select_words(s, n):
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 9

Start time: 2023-09-01 03:10:35
Duration: 3.33s
Result: Fail

def select_words(s, n):
    words = s.split()
    selected_words = []
    for word in words:
        if len(word) == n:
            selected_words.append(word)
    return selected_words

❌ Run 10

Start time: 2023-09-01 03:13:35
Duration: 10.84s
Result: Fail

def select_words(s, n):
    """Given a string s and a natural number n, you have been tasked to implement 
    a function that returns a list of all words from string s that contain exactly 
    n consonants, in order these words appear in the string s.
    If the string s is empty then the function should return an empty list.
    Note: you may assume the input string contains only letters and spaces.
    Examples:
    select_words("Mary had a little lamb", 4) ==> ["little"]
    select_words("Mary had a little lamb", 3) ==> ["Mary", "lamb"]
    select_words("simple white space", 2) ==> []
    select_words("Hello world", 4) ==> ["world"]
    select_words("Uncle sam", 3) ==> ["Uncle"]
    """
    words = s.split()
    result = []
    for word in words:
        if len(word) == n:
            result.append(word)
    return result