Python:所以我正在开发一个程序(这是一个类分配),它将采用诸如 3/4/5 或 32432/23423/2354325 或 3425*343/254235 或 43252+34254-2435 等表达式(对于+,-,/,*) 中的所有运算符。并将解决表达式。
我不能使用评估!
我不能使用更高级别的代码,我最多只能使用来自以下网站的字符串操纵器来拆分字符串。
http://docs.python.org/2/library/stdtypes.html#typesseq
我的方法是查看用户输入的表达式,然后使用 find 函数找到 OPERATORS,然后使用这些运算符和切片函数(例如 s[0:x])。我所拥有的如下,不幸的是它不起作用: *请注意,打印语句仅用于调试目的。编辑:为什么在我运行程序并输入表达式时未定义 x ?
z= (input("expression:")).strip()
def finding(z):
if "/" in z:
x=z.find("/")
print("hi1")
elif "*" in z:
x=z.find("*")
print("hi2")
elif "+" in z:
x=z.find("+")
print("hi3")
elif "-" in z:
x=z.find("-")
print("hi4")
else:
print("error, not math expression")
return x
def Parsing(z,x):
x= finding(z)
qw=z.s[0:x]
print (qw)
# take the x-value from function finding(z) and use it to split
finding(z)
Parsing(z,x)