Python:给定一个整数列表,如果该数组在某处的 3 旁边包含 3,则返回 True

问题描述 投票:0回答:1

我针对问题编写了程序,它按预期运行,但我不知道它是否是正确的逻辑。

def has_33(my_list):
    i=0
    for j in my_list:
        if i==j:
            return True
        else:
            i=j
    return False

我的在线老师给出了另一种使用索引[]的解决方案:

def has_33(nums):
    for i in range(0, len(nums)-1):
        if nums[i:i+2] == [3,3]:
            return True  
    
    return False
python
1个回答
0
投票

第一个没有检查

3
。它只是检查两个重复的值。

要进行测试,只需使用两个

4

第二个很好。如果你想了解更多,只需搜索 python 切片。

您可能想将此行

if i==j
更改为:
if i == j == 3

© www.soinside.com 2019 - 2024. All rights reserved.