我正在一个编码竞赛中尝试这个problem。我相信我已经解决了问题,但在接受意见方面有一些问题。帮帮我:
输入
输入的第一行包含一个整数T,表示测试用例的数量。下面是对T测试用例的描述。每个测试用例由一行组成,其中包含两个空格分隔的字符串R和S,表示两个配方。
现在,我已经对这个问题进行了编码,它似乎可以工作,但是每当我直接复制粘贴输入值时,它就不能通过给出这个错误消息来工作
T= int(raw_input())
ValueError: invalid literal for int() with base 10:
'3\nalex axle\nparadise diapers\nalice bob'
每当我试图提交问题时,就会收到一条错误消息。可能他们也在复制粘贴输入值并检查输出。我的代码框架是这样的
def whetherGranama(str1,str2):
return "NO"
#can't give the implementation out yet
T= int(raw_input())
ans=[]
for x in range(0,T):
s=raw_input()
s1,s2=s.split()
ans.append(whetherGranama(s1,s2))
for elem in ans:
print elem
如何修复\n
错误?我认为整个输入被看作一个字符串。
首先分割输入,然后转换int:
它将被拆分一次,给您第一个数字项,然后给您输入字符串的其余部分。
拆分输入,使用拆分列表提取进程的整数
如果将整个输入作为一个字符串读取,则可以尝试使用
stdin.readline()
而不是raw_input
来捕获输入流:然而,由于这是一个编码竞争,我认为速度是关键。由于IO操作在计算上很昂贵,您应该欢迎有机会一次读取所有输入。换言之,一次读入并解析代码中的输入通常更快。我想在你的情况下,它会看起来像这样(假设它是按设计同时出现的):
相关问题 更多 >
编程相关推荐