问题就在这里。
\n这是List-2 的一部分
\n中型 python 列表问题——1 个循环。
\n给定一个整数数组,如果该数组某处的 2 旁边包含 2,则返回 True。
\nhas22([1, 2, 2]) \xe2\x86\x92 真
\nhas22([1, 2, 1, 2]) \xe2\x86\x92 假
\nhas22([2, 1, 2]) \xe2 \x86\x92 假
我一开始收到错误“列表索引超出范围”
\n我知道原来问题的第 4 行哪里出了问题,因为一旦它到达列表中的最后一个数字,它就无法再添加一个了。
\n我在下面提供了我的原始代码。第一个代码块是当我收到错误“索引超出范围”时。第二种解决方案有效,但我想知道是否有更干净的编写方式。
\n另外,在 CodingBat 上,当我运行我的解决方案时,它在底部显示“其他测试”失败,但没有示例,我不确定这意味着什么。
\n谢谢
\n这是我的代码块 - 第一次尝试:
\ndef has22(nums):\n for i in range(len(nums)):\n first = nums[i]\n second = nums[i+1]\n if first == second:\n return True\n
Run Code Online (Sandbox Code Playgroud)\n我的解决方案:
\ndef has22(nums):\n size …
Run Code Online (Sandbox Code Playgroud)