python - 如何处理错误的值不足以解开for循环

标签 python for-loop if-statement error-handling action

在下面的代码中,用户将输入单个整数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/

相关文章:

python - 在最后一次迭代的 for 循环之外打印一些内容

java - 如何从 LinkedHashSet 中获取前 5 个值?

javascript - 如何比较javascript中的两个字符串if条件

Java,函数不识别return语句

python - 如何确定 Django 模型中的类实例是否是另一个模型的子类?

python - 尝试在 pygame 的 for 循环中创建对象并得到 AttributeError : 'FoodItems' object has no attribute 'add_internal'

python - 从 BeautifulSoup 页面检索所有信息

python - XlDirectionDown 并使用 Python 选择填充单元格

arrays - 将数组从某个位置复制到c中的另一个数组

java - 如何在不使用循环的情况下搜索字符串中的字符?