n=int(input())
for i in range(0,n):
text=input()
nlist=text.split(' ')
if nlist[-1]=='machula':
print(nlist[0]+" + "+nlist[2]+" = "+str(int(nlist[0])+int(nlist2)))
else:
print(nlist[0]+" + "+str(int(nlist[-1])-int(nlist[0]))+ " = " +nlist[-1])
代码给出了运行时错误,但在线评判员接受c / c ++中的解决方案没有问题。 可能是python中运行时错误的原因是什么? 问题链接:
答案 0 :(得分:0)
首先,你有一个拼写错误
print(nlist[0]+" + "+nlist[2]+" = "+str(int(nlist[0])+int(nlist2)))
应该是
print(nlist[0]+" + "+nlist[2]+" = "+str(int(nlist[0])+int(nlist[2])))
第二,你的代码对这个问题有错误的想法。试试这个测试用例:
1
2 + 10 = machula2
这将使您的程序崩溃,因为它会将nlist[-1]
检测为整数。我不会为整个问题提供解决方案,我只解决运行时错误问题。
答案 1 :(得分:0)
请仔细阅读问题陈述并尝试这种方式:
n=int(input())
for i in range(0,n):
input()
nlist=input().split(' ')
st = "machula"
if st in nlist[0]:
print("%d + %s = %s" % (int(nlist[4]) - int(nlist[2]), nlist[2], nlist[4]))
elif st in nlist[2]:
print("%s + %d = %s" % (nlist[0], int(nlist[4]) - int(nlist[0]), nlist[4]))
elif st in nlist[4]:
print("%s + %s = %d" % (nlist[0], nlist[2], int(nlist[0]) + int(nlist[2])))