这是使用正则表达式的可能解决方案概述。错误检查留作练习。如果这不是家庭作业,并且您想查看充实的解决方案,请在此处查看
import re# input is a list of tokens (token is a number or operator)tokens = raw_input()# remove whitespacetokens = re.sub('s+', '', tokens)# split by addition/subtraction operatorstokens = re.split('(-|+)', tokens)# takes in a string of numbers, *s, and /s. returns the resultdef solve_term(tokens): tokens = re.split('(/|*)', tokens) ret = float(tokens[0]) for op, num in <FILL THIS IN>: # <apply the operation 'op' to the number 'num'> return ret# initialize final result to the first term's valueresult = solve_term(tokens[0])# calculate the final result by adding/subtracting termsfor op, num in <FILL THIS IN>: result += solve_term(num) * (1 if op == '+' else -1)print result
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)