PY愚蠢栈做法,自测没发现问题,只对了第一个点,求大佬指点
查看原帖
PY愚蠢栈做法,自测没发现问题,只对了第一个点,求大佬指点
763985
m1cm1c楼主2022/8/19 14:14
def stack(): #创建空栈
    s=[]
    return s
def push(s,item): #将一个元素放入栈中(0是栈底)
    s.append(item)
def pop(s): #将元素弹出栈
    return s.pop()
def size(s): #栈里元素数量
    return len(s)
def peek(s): #栈顶元素
    if size(s)!=0:
        return s[len(s)-1]
    else:
        return 0
def isEmpty(s): #栈是否为空
    if size(s)==0: 
        return 1
    else:
        return 0

x=input().strip()
a=x.split("+")
s=stack()
new=1
sum=0
x=""
for i in a:
    if i.find("*")==-1:
        push(s,(int(i)%10000))
    if i.find("*")!=-1:
        numbers=i.split("*")
        for j in numbers:
            j_int=int(j)
            j_int%=10000
            new*=j_int
            new%=10000
        push(s,new)
        new=1
    if size(s)==2:
        sum+=peek(s)
        pop(s)
        sum+=peek(s)
        pop(s)
        push(s,sum)
        sum=0
print(peek(s))
    

样例都没问题 自测数据: 1.10001 输出:1 2.123+234 输出:30 3.0*123+4 输出:4 还有一些自己随便测的,可能自己没测到点上吧 谢谢大佬指点!

2022/8/19 14:14
加载中...