python PTA 乙级非零返回问题

这是题目要求

img


这是我自己的代码 然后还有运行结果

img


在IDLE上也能得到结果

img


大lao们能不能帮忙看看哪里有问题。

a=[]
c=[]
x=0
m=0
for i in range(4):
b=input()
a.append(b)
for i in a[0]:
if 65<=ord(i)<=90 and a[1][m]==i:
c.append(i)
if 48<=ord(i)<=57 and a[1][m]==i:
c.append(i)
m=m+1
for i in a[2]:
if 65<=ord(i)<=90 or 97<=ord(i)<=122 and a[3][x]==i:
c.append(x)
x=x+1
if 48<=ord(c[0])<=57:
del c[0]
def riqi(n):
l = {1: "MON", 2: "TUE", 3: "WED", 4: "THU", 5: "FRI", 6: "SAT", 7: "SUN"}
k=ord(n)-64
return l[k]
def shi(n):
if 48<=ord(n)<=57:
return n
else:
return ord(n)-55
def fen(n):
return n
print(f"{riqi(c[0])} {shi(c[1]):0>2d}:{fen(c[2]):0>2d}",end="")

一些语法,在PTA执行的过程中,抛出了异常,导致没有运行到最后一步return,所以导致 非零返回
你把判断时的连续判断改成and之后再看看

img