CodingBat Python 字符串索引超出范围错误

CodingBat Python string index out of range error

我目前正在做一个名为 string_bits 的 coding bat 问题,并且一直在使用 Thonny 调试它并将代码放入 coding bat 中以查看它是否正确。现在,我在 codingbat 中的代码出现错误,提示 字符串索引超出范围 。奇怪的是,当我在 Thonny 中 运行 它时,我没有得到错误。这里发生了什么?

def string_bits(str):
  new_str = [str[0]]
  count = 0
  for letter in str[1:]:
    count += 1
    if count % 2 == 0:
      new_str.append(letter)
  return "".join(new_str)

也许测试尝试了一些不同类型的输入,而不仅仅是显而易见的。 例如,如果你的输入是一个空字符串:它会导致这样一个“超出范围”的错误。 尝试在对字符串(实际上是一个数组)进行任何操作之前添加输入检查

像这样:

def string_bits(str):
  # check input for empty string
  if str == "":
    # quit function if invalid input
    return ""
  new_str = [str[0]]
  count = 0
  for letter in str[1:]:
    count += 1
    if count % 2 == 0:
      new_str.append(letter)
  return "".join(new_str)