所以,我的问题很简单。我只是在这里挣扎着语法。我需要读一组整数,3,11,2,4,5,5,6,10,8,-12。我想用这些整数做的就是把它们放在一个列表中,因为我正在阅读它们。 n = n x n数组,其中将显示这些数组。所以如果n = 3,那么我将传递类似这样的东西3 \ n 11 2 4 \ n 4 5 6 \ n 10 8 -12(\ n表示输入文件中的新行)
value = int(raw_input().strip())
ValueError: invalid literal for int() with base 10: '11 2 4'
我从上面的代码中收到此错误:
<http pattern="/login" auto-config="true" disable-url-rewriting="true">
<intercept-url pattern="/login" access="ROLE_ANONYMOUS"/>
<access-denied-handler error-page="/index.jsp"/>
</http>
可以在此处找到实际的挑战https://www.hackerrank.com/challenges/diagonal-difference。 我已经用Java和C ++完成了这个,现在只是尝试用Python做,但我很擅长python。如果有人愿意,他们也没有,看到正确的方式阅读整行,说&#34; 11 2 4&#34;,在该行中创建一个新列表,并将其添加到现有列表中。那么我所要做的就是搜索列表的索引[desiredInternalList []]。
答案 0 :(得分:1)
您可以在空白处拆分字符串并将条目转换为整数。
这给你一个清单:
for a_i in xrange(n):
a.extend([int(x) for x in raw_input().split()])
这是一个列表清单:
for a_i in xrange(n):
a.append([int(x) for x in raw_input().split()]):
答案 1 :(得分:0)
您收到此错误是因为您尝试将所有输入都放在一行中。要处理此问题,您可以使用此代码
n = int(raw_input().strip())
a = []
while len(a)< n*n:
x=raw_input().strip()
x = map(int,x.split())
a.extend(x)
print(a)