鱼C论坛

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

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

[复制链接]
发表于 2019-11-21 10:12:34 | 显示全部楼层
  1. def func278(args: list) -> int:
  2.     summ, cursor = 0, -1
  3.     for arg in args:
  4.         if arg == 13:
  5.             cursor = 0
  6.         elif cursor in range(0, 5):
  7.             cursor += 1
  8.         else:
  9.             summ += arg
  10.     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 | 显示全部楼层    本楼为最佳答案   
  1. def f278(nums:List[int])->int:
  2.     n = len(nums)
  3.     i, s = 0, 0
  4.     while i < n:
  5.         if nums[i] == 13:
  6.             i += 6
  7.             continue
  8.         s += nums[i]
  9.         i += 1
  10.     return s
复制代码


代码撞了,我换个写法
  1. def f278(nums:List[int])->int:
  2.     n = len(nums)
  3.     i, t, s = 0, -6, 0
  4.     while i < n:
  5.         try:
  6.             t = nums.index(13, t+6)
  7.             s += sum(nums[i:t])
  8.             i = t + 6
  9.         except ValueError:
  10.             return s + sum(nums[i:])
  11.     return s
复制代码

评分

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

查看全部评分

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

使用道具 举报

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

使用道具 举报

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


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

使用道具 举报

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

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

使用道具 举报

发表于 2019-11-21 18:13:53 | 显示全部楼层
  1. def f278(nums: list):
  2.     if nums.count(13) == 0:
  3.         return sum(nums)
  4.     flag = 0
  5.     result = 0
  6.     for i in nums:
  7.         if i == 13 and flag == 0:
  8.             flag = 5
  9.             continue
  10.         elif flag:
  11.             flag -= 1
  12.             continue
  13.         else:
  14.             result += i
  15.     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-5-26 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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