后来我在CSDN上搜了一下,直接把搜到的答案提交后发现通过了,就开始对比我的和他的代码的区别
没有发现除了变量命名以外的任何区别
于是我干脆把变量命名改成了和答案一样的命名,再次提交,结果还是runtimeerror
以下是我再次提交后还有runtimeerror的代码
m,n=map(int, input().split())
food={}
for i in range(m):
s=input().split()
name,price,amount=s[0],int(s[1]),int(s[2])
food[name] = [price,amount]
total=0
for i in range(n):
names=input().split()
for name in names:
if food[name][1] > 0 :
total += food[name][0]
food[name][1] -= 1
print(total)
我觉得很离谱,就新建了一个python文件一模一样的从头到尾又重新手打了一遍,提交后通过了
这是这次提交的通过了的代码:
n,m = map(int,input().split())
food={}
for i in range(m):
s= input().split()
name, price,amount = s[0],int(s[1]),int(s[2])
food[name] = [price,amount]
total=0
for i in range(n):
names=input().split()
for name in names :
if food[name][1] > 0:
total += food[name][0]
food[name][1] -= 1
print(total)
我实在看不出来两个有什么区别麻烦dl帮忙看一下到底为什么不一样
第一行一个是n,m
一个是m,n
能一样吗
这种问题,数据的输入是固定的,第一个问题是你的m与n之间是反的