I am fairly new to python and programming in general, I wanted to build a calculator which could handle multiple operations in a equation. I implemented multiplication and division, however an index out of range error occurs ONLY when a division comes after a multiplication. Code def find(s, ch): return [i for i, ltr in enumerate(s) if ltr == ch] operatorList=["+","-","%","x","/"] userInput=input("Please enter an equation: ") newInput=("") operatorsUsedList=[] for char in userInput: if char in operatorList: userInput=userInput.replace(char,',') operatorsUsedList.append(char) print(userInput) print(operatorsUsedList) listOfNums=userInput.split(",") print(listOfNums) divIndex=find(operatorsUsedList,"/") multiIndex=find(operatorsUsedList,"x") print(divIndex) #Makes str into nums count=0 listOfNums = [int(i) for i in listOfNums] while len(listOfNums)!=1: count=0 for i in divIndex: inputA=listOfNums[i-count] inputB=listOfNums[i+1-count] print(inputA,"/",inputB) print("here") result=inputA/inputB try: del listOfNums[i+1-count] except: pass try: del listOfNums[i-count] except: pass listOfNums.insert(i,result) print(listOfNums) count=count+1 for i in multiIndex: inputA=listOfNums[i-count] inputB=listOfNums[i+1-count] print(inputA,"x",inputB) print("here") result=inputA*inputB try: del listOfNums[i+1-count] except: pass try: del listOfNums[i-count] except: pass listOfNums.insert(i,result) print(listOfNums) count=count+1 print("Answer = ",str(listOfNums)) Results When i input 6/3/2x4 I am returned Answer = [4.0] which is correct. However when i input 4x2/3/6 its returning IndexError. Here is the traceback, Traceback (most recent call last): File "xxxxx.py", line 26, in <module> inputB=listOfNums[i+1-count] IndexError: list index out of range Any help is appreciated Continue reading...