鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

[已解决]Python:每日一题 278

[复制链接]
发表于 2019-11-21 10:12:34 | 显示全部楼层
def func278(args: list) -> int:
    summ, cursor = 0, -1
    for arg in args:
        if arg == 13:
            cursor = 0
        elif cursor in range(0, 5):
            cursor += 1
        else:
            summ += arg
    return summ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 11:08:09 | 显示全部楼层
def fun1(A):
    i=0
    sum=0
    while i<len(A):
        if A[i]==13:
            i=i+6
        else:
            sum+=A[i]
            i+=1
    print(sum)
fun1([1,2,3,4,13,1,2,3,4,5])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 11:18:15 | 显示全部楼层    本楼为最佳答案   
def f278(nums:List[int])->int:
    n = len(nums)
    i, s = 0, 0
    while i < n:
        if nums[i] == 13:
            i += 6
            continue
        s += nums[i]
        i += 1
    return s

代码撞了,我换个写法
def f278(nums:List[int])->int:
    n = len(nums)
    i, t, s = 0, -6, 0
    while i < n:
        try:
            t = nums.index(13, t+6)
            s += sum(nums[i:t])
            i = t + 6
        except ValueError:
            return s + sum(nums[i:])
    return s

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 11:30:51 | 显示全部楼层
def numSum(list1) :
        if 13 not in list1 :
                return sum(list1)
        else :
                list2 = list1[: list1.index(13)]
                if list1.index(13) == 0 :
                        return 0
                else :
                        return sum(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 13:51:15 | 显示全部楼层
def fun278(list1):
    if list1.count(13) == 0:
        return sum(list1)
    else:
        idx = list1.index(13)
        try:
            for i in range(6):
                list1.pop(idx)
            return fun278(list1)
        except IndexError:
            return sum(list1)


l1 = [1, 2, 3,  5, 4, 13, 4, 5, 6, 5, 6, 13, 7, 8, 2, 1, 1, 10, 5]
print(fun278(l1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 17:26:50 | 显示全部楼层
arr = [1,3,13,2]
sum=0
for k,v in enumerate(arr):
    if v == 13:
        try:
            arr[k:k+6] = [0]
        except IndexError:
            arr[k:-1] = [0]

for i in arr:
    sum += i
print(sum)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-21 18:13:53 | 显示全部楼层
def f278(nums: list):
    if nums.count(13) == 0:
        return sum(nums)
    flag = 0
    result = 0
    for i in nums:
        if i == 13 and flag == 0:
            flag = 5
            continue
        elif flag:
            flag -= 1
            continue
        else:
            result += i
    return result
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:11:04 | 显示全部楼层
阴阳神万物主 发表于 2019-11-20 21:53
我来凑个热闹~~~

再来一个,感觉比上一个要快

第一个要快

执行用时:109 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:11:31 | 显示全部楼层

恭喜通过!

执行用时:323 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:12:19 | 显示全部楼层
Lamotu 发表于 2019-11-20 22:51
ef app(list):
    sum=0
    i=0

恭喜通过!

执行用时:232 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:12:57 | 显示全部楼层
xjf7758521 发表于 2019-11-20 22:51
def check_sum(list1):
     bad_num = 13
     head = 0

恭喜通过!

执行用时:501 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:15:52 | 显示全部楼层

恭喜通过!

执行用时:51 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:16:13 | 显示全部楼层

恭喜通过!

执行用时:102 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:16:44 | 显示全部楼层

恭喜通过!

执行用时:55 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:18:10 | 显示全部楼层

恭喜通过!

执行用时:56 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:18:33 | 显示全部楼层

恭喜通过!

执行用时:49 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:19:41 | 显示全部楼层

恭喜通过!

执行用时:378 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:20:13 | 显示全部楼层
前奏 发表于 2019-11-21 11:08
def fun1(A):
    i=0
    sum=0

恭喜通过!

执行用时:326 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:20:38 | 显示全部楼层
华一仙 发表于 2019-11-21 11:18
代码撞了,我换个写法

恭喜通过!

执行用时:40 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-21 19:21:33 | 显示全部楼层

解答错误

输入:[1, 2, 13, 5, 4, 3, 4, 5, 6]
输出:3
预期结果:9
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-29 11:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表