human
What is a the Python code you requested given the following:
I found an interesting problem on https://leetcode.com/problems/basic-calculator/:
Implement a basic calculator to evaluate a simple expression string.

The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces  .

Example 1:

Input: "1 + 1"
Output: 2

Example 2:

Input: " 2-1 + 2 "
Output: 3

Example 3:

Input: "(1+(4+5+2)-3)+(6+8)"
Output: 23
Note:

       You may assume that the given expression is always valid.
       Do not use the eval built-in library function.

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is the Python code you requested.

class Solution:
     def calculate(self, s):
         """
         :type s: str
         :rtype: int
         """
         if not s:
             return 0
         
         res=0
         sign=1
         
         stack=[1]
         
         num=0
         
         for c in s:
             
             if c <='9' and c>='0':
                 num=num*10+ord(c)-ord('0')
                 #print(num)
             elif c in '+-':
                 res+=sign*num
                 #print(res)
                 if c=='+':
                    #print(stack)
                    sign=stack[-1]
                 else:
                    sign=stack[-1]*(-1)
                 num=0
             elif c=='(':
                 stack.append(sign)
             elif c==')':
                 stack.pop()
         #print('outsideloop',res)
         res+=sign*num
         
         return res