在下面的代码中,用户将输入单个整数N
作为对数,接下来应输入对数b
。假设输入的列表是b=[('r', 1),('a', 1),('a', 2),('a', 1),('r', 1),('r', 2)]
,输出应为B = [1]。用户将输入如下数据:
6
r 1
a 1
a 2
a 1
r 1
r 2
代码引发错误:“没有足够的值可解压(预期2,得到1)”N = int(input())
B=[]
for i in range(N):
b = (input().split())
for (action, value) in b:
if action == 'a':
B.append(value)
elif action == 'r':
try:
B.remove(value)
except ValueError:
pass
最佳答案
如果要创建列表,则应将用户输入作为元组附加到列表“b”中,然后循环遍历并处理如下操作:
N = int(input())
B=[]
b = []
for i in range(N):
user_input = input().split() # this returns a list
b.append(tuple(user_input)) # append user input as a tuple
# Handle actions here
for (action, value) in b:
if action == 'a':
B.append(value)
elif action == 'r':
try:
B.remove(value)
except ValueError:
pass
关于python - 如何处理错误的值不足以解开for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64143278/