gpt4 book ai didi

python - 有没有办法用 less "nesting"写?

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:51 24 4
gpt4 key购买 nike

本题为作业题。我想我解决了它,但我想知道这是最好的解决方案吗?问题是获取一个列表并遍历它以查看它是否包含特定的子序列:007。这里的子序列是在数学意义上使用的(因此 0110227 确实包含 007 并返回 True)。

def spy_game(nums):
if 0 in nums:
a_1=nums.index(0)
nums_1=nums[a_1+1:]
if 0 in nums_1:
a_2=nums_1.index(0)
if 7 in nums[a_2+1:]:
return True
else:
return False
else:
return False
else:
return False

最佳答案

首先否定您的测试条件,这样您就可以提前返回。最后一个测试根本不需要 if 语句,因为此时条件的结果就是函数的返回值。

def spy_game(nums):
if 0 not in nums:
return False

a_1 = nums.index(0)
nums_1 = nums[a_1+1:]

if 0 not in nums_1:
return False

a_2 = nums_1.index(0)
return 7 in nums[a_2+1:]

关于python - 有没有办法用 less "nesting"写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672437/

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