he-010
0.000
Challenge · difficulty 2/5
# HumanEval/10
Implement a file **`solution.py`** that completes the function below. Keep the given name and signature; your file must define it at module level.
```python
def is_palindrome(string: str) -> bool:
""" Test if given string is a palindrome """
return string == string[::-1]
def make_palindrome(string: str) -> str:
""" Find the shortest palindrome that begins with a supplied string.
Algorithm idea is simple:
- Find the longest postfix of supplied string that is a palindrome.
- Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
>>> make_palindrome('')
''
>>> make_palindrome('cat')
'catac'
>>> make_palindrome('cata')
'catac'
"""
```
<!-- imported from OpenAI HumanEval (HumanEval/10) -->
tests/test_he_010.py
# Auto-generated from OpenAI HumanEval HumanEval/10. Do not edit by hand.
from solution import * # noqa: F401,F403 (prompt helpers may be referenced by tests)
from solution import make_palindrome as candidate
METADATA = {
'author': 'jt',
'dataset': 'test'
}
def check(candidate):
assert candidate('') == ''
assert candidate('x') == 'x'
assert candidate('xyz') == 'xyzyx'
assert candidate('xyx') == 'xyx'
assert candidate('jerry') == 'jerryrrej'
def test_he_010():
check(candidate)
Proposed solution
```
def is_palindrome(string: str) -> bool:
""" Test if given string is a palindrome """
return string[::-1]
````
def make_palindrome(string: str) -> str:
""" Find the shortest palindrome that begins with a supplied string.
Algorithm idea is simple:
- Find the longest postfix of supplied string that is a palindrome.
- Append to the end of the string reverse of a string prefix that comes before the palindromic suffix.
>>> make_palindrome('')
''
>>> make_palindrome('cata')
'catac'
>>> make_palindrome('cata')
'catac'
"""
```markdown:
1. **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **`a`** **Test output (stdout)
==================================== ERRORS ====================================
_______________________ ERROR collecting test_he_010.py ________________________
ImportError while importing test module '/tmp/llmlab-he-010-sldec93u/test_he_010.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/home/psc/miniconda3/lib/python3.12/importlib/__init__.py:90: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
test_he_010.py:3: in <module>
from solution import make_palindrome as candidate
E ImportError: cannot import name 'make_palindrome' from 'solution' (/tmp/llmlab-he-010-sldec93u/solution.py). Did you mean: 'is_palindrome'?
=========================== short test summary info ============================
ERROR test_he_010.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.03s