NSOperationQueue.currentQueue
答案 0 :(得分:3)
当输入为0 1 10
时,您的代码会将其解释为0
,1
,1
。具体来说,行
c = int(d[4])
取第四个字符,而不是第四个和第五个字符。由于c
最终为1
而非10
,因此永远不会输入您的范围,并且永远不会定义p
。
答案 1 :(得分:1)
<强>解决方案强>
将d=a.strip()
更改为d=[int(x) for x in a.strip().split(' ')]
然后使用:
a, b, c = d
这可以通过以下方式工作:
a.strip().split(' ')
- &gt;将字符串转换为list
,将每个
(空格)int(x)
为该列表中的每个元素转换为int
for x
d
。 d = [0, 1, 10]
a, b, c = d
为什么会破坏?
您将收到错误p was not defined
,因为它永远不会进入您的for
循环(其中p
已定义)。
在您的代码中,原始输入是string
,您可以选择其中的元素。
input = "0 1 9"
被视为0
,,
1
,,
9
input = "0 1 10"
被视为0
,,
1
,,
1
,0
其中c=1
1}}。
因此,您的代码正在尝试range(0,-1)
并且永远不会进入for
循环。