0 votes
class Solution(object):
def calculate(self, s):
"""
:type s: str
:rtype: int
"""
stack = []
i = 0
x=""
for j in s:
if j !=" ":
x+=j
s = x
n = len(s)
while i<n:
if s[i] == '/':
i+=1
num,i = self.make_num(s,i)
if stack[-1]<0:
stack[-1] = -1*(abs(stack[-1])/num)
else:
stack[-1] = stack[-1]/num
elif s[i] == '*':
i+=1
num,i = self.make_num(s,i)
stack[-1] = stack[-1]*num
elif s[i] == '-':
i+=1
num,i = self.make_num(s,i)
stack.append(-num)
elif s[i] =='+':
i+=1
num,i = self.make_num(s,i)
stack.append(num)
else:
num,i = self.make_num(s,i)
stack.append(num)
i+=1
return sum(stack)
def make_num(self,s,i):
start = i
while i<len(s) and s[i]!= '/' and s[i]!= '*' and s[i]!= '-' and s[i]!='+':
i+=1
return int(s[start:i]),i-1
Aug 8, 2020 in Python 5,395 views

## 1 answer to this question.

0 votes

Hello @ nishit,

Indentation means the space from margin to the begin of characters in a line. In most popular programming languages, spaces or indentation are just used to make the code look better and be easier to read. In Python , it is actually part of this programming language. Because the Python language is a very sensitive language for indentation, it has caused confusion for many beginners. Putting in an extra space or leaving one out where it is needed will surely generate an error message . Some common causes of this error include:

1. Forgetting to indent the statements within a compound statement
2. Forgetting to indent the statements of a user-defined function.

The error message IndentationError: expected an indented block would seem to indicate that you have an indentation error. It is probably caused by a mix of tabs and spaces.

Here is the code which remove your IndentationError: expected an indented block:

class Solution(object):
def calculate(self, s):
"""
:type s: str
:rtype: int
"""
stack = []
i = 0
x=""
for j in s:
if j !=" ":
x+=j
s = x
n = len(s)
while i<n:
if s[i] == '/':
i+=1
num,i = self.make_num(s,i)
if stack[-1]<0:
stack[-1] = -1*(abs(stack[-1])/num)
else:
stack[-1] = stack[-1]/num
elif s[i] == '*':
i+=1
num,i = self.make_num(s,i)
stack[-1] = stack[-1]*num
elif s[i] == '-':
i+=1
num,i = self.make_num(s,i)
stack.append(-num)
elif s[i] =='+':
i+=1
num,i = self.make_num(s,i)
stack.append(num)
else:
num,i = self.make_num(s,i)
stack.append(num)
i+=1
return sum(stack)
def make_num(self,s,i):
start = i
while i<len(s) and s[i]!= '/' and s[i]!= '*' and s[i]!= '-' and s[i]!='+':
i+=1
return int(s[start:i]),i-1

Hope it resolve your error!!

Thank you!

answered Aug 10, 2020 by
• 82,880 points

+1 vote
3 answers

## Python error "IndentationError: expected an indented block"

Python requires its code to be indented ...READ MORE

0 votes
1 answer

## I was written the python program, am getting error message "IndentationError: expected an indented block"

Hi@Thiyagarajan, You have one else block in your ...READ MORE

0 votes
1 answer

## IndentationError: expected an indented block

Hi, @Baker, Putting in extra space or leaving ...READ MORE

0 votes
0 answers

## IndentationError: expected an indented block in phyton

Hi I i keep getting that error ...READ MORE

0 votes
1 answer

## I got expected an indented block error.

Hi, You used one function in your code, ...READ MORE

0 votes
1 answer

## I've been trying to run this code, but the error says "Expected an indented block" for the line, " word_as_list[index] = guess."

Hi, @Paradox, The error message IndentationError: expected an indented ...READ MORE

0 votes
1 answer

## How can I raise an exception in Python so that it can later be caught via an except block?

It's pretty simple to raise a query  raise ...READ MORE

+2 votes
3 answers

## How can I play an audio file in the background using Python?

down voteacceptedFor windows: you could use  winsound.SND_ASYNC to play them ...READ MORE

0 votes
1 answer

## why do i get this error. (File "main.py", line 18 message = connectionSocket.recv(1024) ^ IndentationError: expected an indented block  ) and how to make it write

Hello, The error itself explain what's the problem.In ...READ MORE

0 votes
1 answer

## Error: current transaction is aborted, commands ignored until end of transaction block?

Hii kartik, To get rid of the error, roll ...READ MORE