猫史档案馆


求助贴:我代码是哪里没考虑到?加减算式这一题

用户:炼金树枝炼金树枝查看:4 回复:4 评论:4 创建时间:2020-03-08T15:56:59


center_image

编程猫,终于熬到了数学最后一题的时刻,但是眼前都是一堆杂乱的加减算式,显然成功就在眼前了。可是他脑细胞和RP已经消耗殆尽,所以这个重要的任务就交给你们啦。

输入格式:一行,包含一个字符串形式的加减法多项式(每一项数字范围为0-32767)。

输出格式:一个整数,为计算所得的结果

示例1:输入:1+2-3 输出:0

我代码如下:

s=input()
s=s+"+"
s0=0     #运算结果
a=""     #分析的内容
h="+"    #第一次的运算符
for i in range(len(s)):
    if s[i]=="+" or s[i]=="-":
        #print(s[i],h)
        s0=s0+int(a)
        h=s[i]
        a=""
    elif s[i]==" ":
        continue
    a+=s[i]
print(s0)

思路:判断输入的每一个字符,如果是加号或减号,就计算一下结果,如果空格,则跳过(虽然题目没说会输入空格),然后把下一个结果存在a中(包括正号,负号)等下一下运算符号,为此在最前面等式加一下“+”号,触发最后一个数的计算。

结果没通过,大家帮忙挑一下毛病。


回复

上一页1 页 / 共 1下一页
wrmdcxywrmdcxy

用eval()

点赞0


评论


炼金树枝炼金树枝

很多人都说用eval,但我用eval结果却是:

center_image

不知道你们是怎么用的?

点赞0


评论


wrmdcxywrmdcxy

center_image

点赞0


评论


ZCH-TacketZCH-Tacket

刚学python的我一脸懵逼

点赞0


评论