...
Denne modulen inneholder alle variabler og funksjoner knyttet til håndtering av operand-stacken, først og fremst operands-variablen og i tillegg funksjonene som direkte leser og endrer den. I praksis er dette første del av koden fra rpncalc3.py.
Code Block |
---|
# rpncalc4core.py operands = [] def isOperand(token): try: float(token) return True except ValueError: return False def printOperands(): print(operands) def popOperands(n): size = len(operands) if size >= n: result = operands[size - n : size] global operands operands = operands[0 : size - n] return result else: return None def pushOperand(operand): operands.append(operand) def plus(): ops = popOperands(2) if not (ops is None): pushOperand(ops[0] + ops[1]) def minus(): ops = popOperands(2) if not (ops is None): pushOperand(ops[0] - ops[1]) |
Det "eneste" denne modulen gjør er å deklarere og initialisere operands-variablen og tilhørende funksjoner. Ingen av funksjonene blir kjørt av modulen selv, de må kalles utenfra, av kode i andre moduler.
rpncalc4ui-modulen
Denne modulen er
Code Block |
---|
def main():
while (True):
printOperands()
token = raw_input(" > ")
if isOperand(token):
operand = float(token)
pushOperand(operand)
elif token == "exit":
break
elif token == "+":
plus()
elif token == "-":
minus()
else:
print("Unsupported operator: " + token)
print("program exited")
main() |
Code Block |
|