题解 P1981 【表达式求值 】

· · 题解

看了一圈题解没有用Python3水过的……

我写一下Py3怎么过⑧

首先我们很容易想到eval()的特性,很容易地写出这样的代码:

print(eval(input())%10000)

开心的提交~

然后您就会发现只有80分,RE了两个点……

一看RE原因 输入长度不合法。。。

那我们就好办啦,我们让输入长度合法就好啦

于是有了以下代码(还可以压行但我懒了(ノ*・ω・)ノ):

S =input()
ans=0
mid = int(len(S))
j=0
for i in range(0,mid):
    if S[i]=="+":
        s1=S[j:i]
        j=i
        ans=((ans%10000)+eval(s1)%10000)%10000
ans=((ans%10000)+eval(S[j:mid])%10000)%10000

print(ans)

Python大法好!