当前位置:   article > 正文

【华为od机试】翻牌求最大分-Python3_一副牌怎么出分数最高 python

一副牌怎么出分数最高 python

■ 题目描述

给出n个牌数,在-100到100之间,求最大得分。

规则如下:连续翻牌,如果选当前牌,则总得分等于上一次翻牌总得分加上当前牌的数字,

如果当前总得分小于它前三次的总得分的话,那此次不翻牌,并且总得分就等于它前三次的得分。

1到3次翻牌数如果小于0的话就取0。

例子:1,-5,-6,4,7,2,-2

(1)1大于零 翻牌
(2)-5 加上1 小于0 不翻 结果为0
(3)-6 加上0 小于0 不翻 结果为0
(4)4 加上0 大于0(1)翻牌 结果为4
(5)7 加上4 大于0(2) 翻牌 结果为11
(6)2 加上11 大于0(3) 翻牌 结果为13
(7)-2 加上14 大于4(4)翻牌 结果为11

n='12,-5,-6,4,-20,2,-2'

if __name__ == '__main__':
    n = list(map(int,n.split(",")))
    if sum(n[:3])<0:
        num =0
    else :
        num = sum(n[:3])

    for i in range(3,len(n)) :
       tmp = num+n[i]
       # print('num: ',num,end=" , ")
       # print("i : ",n[i],end=' , ')
       # print('tmp: ',tmp)
       if tmp>num:
           num =tmp
print(num)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/727584
推荐阅读
相关标签
  

闽ICP备14008679号