We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
errors in balanced_parentheses.py
https://github.com/TheAlgorithms/Python/blob/6a95bf9ad8090a1280abf76752a52ab9ee2420b7/data_structures/stacks/balanced_parentheses.py#L13-L17

`Line 16` returns wrong result due to `not`

`Line 15` can cause error for inputs like **))**. before calling _pop_ it should be checked if stack is empty.

https://github.com/TheAlgorithms/Python/blob/6a95bf9ad8090a1280abf76752a52ab9ee2420b7/data_structures/stacks/balanced_parentheses.py#L3

there is no module named **.Stack**. it should be
 _from **s**tack import Stack_

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `data_structures/stacks/balanced_parentheses.py`
Content:
```
1 from __future__ import print_function
2 from __future__ import absolute_import
3 from .Stack import Stack
4 
5 __author__ = 'Omkar Pathak'
6 
7 
8 def balanced_parentheses(parentheses):
9     """ Use a stack to check if a string of parentheses is balanced."""
10     stack = Stack(len(parentheses))
11     for parenthesis in parentheses:
12         if parenthesis == '(':
13             stack.push(parenthesis)
14         elif parenthesis == ')':
15             stack.pop()
16     return not stack.is_empty()
17 
18 
19 if __name__ == '__main__':
20     examples = ['((()))', '((())']
21     print('Balanced parentheses demonstration:\n')
22     for example in examples:
23         print(example + ': ' + str(balanced_parentheses(example)))
24
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/data_structures/stacks/balanced_parentheses.py b/data_structures/stacks/balanced_parentheses.py
--- a/data_structures/stacks/balanced_parentheses.py
+++ b/data_structures/stacks/balanced_parentheses.py
@@ -1,6 +1,6 @@
 from __future__ import print_function
 from __future__ import absolute_import
-from .Stack import Stack
+from stack import Stack
 
 __author__ = 'Omkar Pathak'
 
@@ -12,12 +12,14 @@
         if parenthesis == '(':
             stack.push(parenthesis)
         elif parenthesis == ')':
+            if stack.is_empty():
+                return False
             stack.pop()
-    return not stack.is_empty()
+    return stack.is_empty()
 
 
 if __name__ == '__main__':
-    examples = ['((()))', '((())']
+    examples = ['((()))', '((())', '(()))']
     print('Balanced parentheses demonstration:\n')
     for example in examples:
         print(example + ': ' + str(balanced_parentheses(example)))

{"golden_diff": "diff --git a/data_structures/stacks/balanced_parentheses.py b/data_structures/stacks/balanced_parentheses.py\n--- a/data_structures/stacks/balanced_parentheses.py\n+++ b/data_structures/stacks/balanced_parentheses.py\n@@ -1,6 +1,6 @@\n from __future__ import print_function\n from __future__ import absolute_import\n-from .Stack import Stack\n+from stack import Stack\n \n __author__ = 'Omkar Pathak'\n \n@@ -12,12 +12,14 @@\n         if parenthesis == '(':\n             stack.push(parenthesis)\n         elif parenthesis == ')':\n+            if stack.is_empty():\n+                return False\n             stack.pop()\n-    return not stack.is_empty()\n+    return stack.is_empty()\n \n \n if __name__ == '__main__':\n-    examples = ['((()))', '((())']\n+    examples = ['((()))', '((())', '(()))']\n     print('Balanced parentheses demonstration:\\n')\n     for example in examples:\n         print(example + ': ' + str(balanced_parentheses(example)))\n", "issue": "errors in balanced_parentheses.py\nhttps://github.com/TheAlgorithms/Python/blob/6a95bf9ad8090a1280abf76752a52ab9ee2420b7/data_structures/stacks/balanced_parentheses.py#L13-L17\r\n\r\n`Line 16` returns wrong result due to `not`\r\n\r\n`Line 15` can cause error for inputs like **))**. before calling _pop_ it should be checked if stack is empty.\r\n\r\nhttps://github.com/TheAlgorithms/Python/blob/6a95bf9ad8090a1280abf76752a52ab9ee2420b7/data_structures/stacks/balanced_parentheses.py#L3\r\n\r\nthere is no module named **.Stack**. it should be\r\n _from **s**tack import Stack_\n", "before_files": [{"content": "from __future__ import print_function\nfrom __future__ import absolute_import\nfrom .Stack import Stack\n\n__author__ = 'Omkar Pathak'\n\n\ndef balanced_parentheses(parentheses):\n    \"\"\" Use a stack to check if a string of parentheses is balanced.\"\"\"\n    stack = Stack(len(parentheses))\n    for parenthesis in parentheses:\n        if parenthesis == '(':\n            stack.push(parenthesis)\n        elif parenthesis == ')':\n            stack.pop()\n    return not stack.is_empty()\n\n\nif __name__ == '__main__':\n    examples = ['((()))', '((())']\n    print('Balanced parentheses demonstration:\\n')\n    for example in examples:\n        print(example + ': ' + str(balanced_parentheses(example)))\n", "path": "data_structures/stacks/balanced_parentheses.py"}], "after_files": [{"content": "from __future__ import print_function\nfrom __future__ import absolute_import\nfrom stack import Stack\n\n__author__ = 'Omkar Pathak'\n\n\ndef balanced_parentheses(parentheses):\n    \"\"\" Use a stack to check if a string of parentheses is balanced.\"\"\"\n    stack = Stack(len(parentheses))\n    for parenthesis in parentheses:\n        if parenthesis == '(':\n            stack.push(parenthesis)\n        elif parenthesis == ')':\n            if stack.is_empty():\n                return False\n            stack.pop()\n    return stack.is_empty()\n\n\nif __name__ == '__main__':\n    examples = ['((()))', '((())', '(()))']\n    print('Balanced parentheses demonstration:\\n')\n    for example in examples:\n        print(example + ': ' + str(balanced_parentheses(example)))\n", "path": "data_structures/stacks/balanced_parentheses.py"}]}