57
社区成员
发帖
与我相关
我的任务
分享
class SumMaxNum():
def function(serf,lists):
max_sum = lists[0]
pre_sum = 0
for i in lists:
if pre_sum < 0:
pre_sum = i
else:
pre_sum += i
if pre_sum > max_sum:
max_sum = pre_sum
return max_sum
import unittest
class MyTestCase(unittest.TestCase):
def test1(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-2 , 6, -1, 5, 4, -7, 2, 3]),14)
def test2(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([1, 4, -5, 9, 8, 3, -6]),20)
def test3(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-1 ,20 ,-5, 30 ,-4]),45)
def test4(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-2 ,-3,-5 ,1 ,-9]),1)
def test5(self):#这组故意设置错误的值
ts = SumMaxNum()
return self.assertEqual(ts.function([-2 ,-3,-5 ,1 ,-9]),0)
def test6(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-1,2,4,3,-4,2]),9)
def test7(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-1,3,-5,7,-9,11,-13,15,-17,19,-21]), 19)
def test8(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([-5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6]), 6)
def test9(self):
ts = SumMaxNum()
return self.assertEqual(ts.function([1,2,3,4,5,-6,7,8,9,10]), 43)
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test1'))
suite.addTest(MyTestCase('test2'))
suite.addTest(MyTestCase('test3'))
suite.addTest(MyTestCase('test4'))
suite.addTest(MyTestCase('test5'))
suite.addTest(MyTestCase('test6'))
suite.addTest(MyTestCase('test7'))
suite.addTest(MyTestCase('test8'))
suite.addTest(MyTestCase('test9'))
runner = unittest.TextTestRunner()
runner.run(suite)
结果截图