gpt4 book ai didi

python - 否则条件总是有效

转载 作者:太空狗 更新时间:2023-10-30 02:15:08 25 4
gpt4 key购买 nike

我的代码中有一个我无法识别的错误。如果列表包含 [3,3],此代码应返回 True

但是,如果我写一个 else 条件,它总是显示 False。如果我跳过 else 条件,代码可以正常工作。

def has_33(nums):
for i in range(0,len(nums)-1):
if nums[i]==3 and nums[i+1]==3:
return True
else:
return False
pass

以上代码返回:

# Check
has_33([1, 3, 3]) . -- > False

# Check
has_33([1, 3, 1, 3]) --> False.

但是,如果我将代码更改为:

def has_33(nums):
for i in range(0,len(nums)-1):
if nums[i]==3 and nums[i+1]==3:
return True
pass

代码运行良好:

# Check
has_33([1, 3, 3]) --> True

# Check
has_33([1, 3, 1, 3]) -- > Returns nothing , False.

为什么会这样?

最佳答案

因为else条件先满足了。你有一个 for 循环遍历列表 [1,3,3] 中的所有数字,首先它检查第一个数字是 1,然后是第二个数字是 3;

if nums[i]==3 and nums[i+1]==3:

在这种情况下 nums[i] 是 1 这意味着 nums[i]==3 不是 True ,这意味着你的代码将直接进入 Else

您的问题的解决方案很简单:

def has_33(nums):
for i in range(len(nums)):
if nums[i]==3 and nums[i+1]==3:return True
return False

关于python - 否则条件总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52658887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com