以下のコードは、多くの SO ベテランの助けを借りて私が作成したものです。
このコードは、入力された数式を受け取り、後で使用するために演算子とオペランドに分割します。分割する解析関数とエラー関数の 2 つの関数を作成しました。エラーメッセージが表示されず、コードの実行時に関数が無視されているように感じるため、エラー関数に問題があります。3//3+4 などの式を入力すると、エラーが出力されます。2 つの演算子が一緒にあるか、式全体に 3 つ以上の演算子がありますが、エラー メッセージは表示されません。私のコードは以下の通りです:
def errors():
numExtrapolation,opExtrapolation=parse(expression)
if (len(numExtrapolation) == 3) and (len(opExtrapolation) !=2):
print("Bad1")
if (len(numExtrapolation) ==2) and (len(opExtrapolation) !=1):
print("Bad2")
def parse(expression):
operators= set("*/+-")
opExtrapolate= []
numExtrapolate= []
buff=[]
for i in expression:
if i in operators:
numExtrapolate.append(''.join(buff))
buff= []
opExtrapolate.append(i)
opExtrapolation=opExtrapolate
else:
buff.append(i)
numExtrapolate.append(''.join(buff))
numExtrapolation=numExtrapolate
#just some debugging print statements
print(numExtrapolation)
print("z:", len(opExtrapolation))
return numExtrapolation, opExtrapolation
errors()
どんな助けでも大歓迎です。すでにここにあるコードよりも高度な新しいコードを導入しないでください。問題の解決策を探しています...大きな新しいコードセグメントではありません。ありがとう。