我正在尝试接受用户输入并将该输入与数组B中的值进行比较。如果用户输入与数组B中的其中一个值匹配,我会捕获它所在的索引并将数组A替换为用户输入在相同的索引处,它在数组B中找到它。
在代码示例中,如果我输入11,它在数组B中找到11并将其插入到数组A中的相同索引点。但是如果我选择22,33或44,则它不会替换任何内容。
您认为以下代码有什么问题?为什么它识别数组B中的数字11并将其替换为数组A中的1,而不是其他数字?
a = [1,2,3,4]
b = [11,22,33,44]
c = input("Enter a Number: ")
for i in b:
if c == i:
x = b.index(i)
a.pop(x)
a.insert(x,c)
break
else:
print "Not in list b"
break
print a
答案 0 :(得分:0)
试试这个:
a = [1,2,3,4]
b = [11,22,33,44]
c = input("Enter a Number: ")
for i in b:
if c == i:
x = b.index(i)
print x
a.pop(x)
a.insert(x,c)
break
else:
print "Not in list b"
print a
将else
语句置于for
循环之外应使其按预期工作。实际上,在1次迭代后,循环将在100%的时间内break
。