开发者社区> 问答> 正文

该函数的代码,它接收整数列表并在顺序中包含007时返回True

这是写得更简单的问题:

我正在尝试编写一个函数,该函数接受一个整数列表,如果顺序包含007,则返回True。序列0、0、7不一定必须以连续顺序出现在数组中才能返回True。例如,spy_game([1,0,2,4,0,5,7])应该返回True。

但是,我需要指导,因为它无法按以下方式工作。

def spy_game(nums):
    for x in range(0,len(nums)):
        first_0=nums.index(0)
        second_0=nums.index(0)
        seven=nums.index(7)
        if first_0!=second_0 and first_0<second_0 and nums[first_0:second_0+1]!=seven and seven>second_0:
            return True
        else:
            return False

以我尝试完成本练习的方式来修改我的代码的任何帮助都将非常有用。

谢谢。

编辑-根据此处的反馈,我将代码修改如下:

def spy_game(nums):
    for x in range(0,len(nums)):
        first_0=nums.index(0)
        second_0=nums.index(0, first_0+1)
        seven=nums.index(7)
        if nums[first_0:second_0+1]!=seven and seven>second_0:
            return True
        else:
            return False

这可行。

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 19:57:19 494 0
1 条回答
写回答
取消 提交回答
  • 所写的.index两次将找到相同的零。.index需要偏移量才能开始查找,因此请在第一个零之后开始一个:

        first_0 = nums.index(0)
        second_0 = nums.index(0,first_0 + 1)
    

    回答来源:stackoverflow

    2020-03-23 19:57:26
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载