zoukankan      html  css  js  c++  java
  • python练习3

    import unittest
    
    
    class Student(object):
        def __init__(self, name, score):
                self.name = name
                self.score = score
    
    
        def get_grade(self):
            if self.score > 100 or self.score < 0:
                raise ValueError
            if self.score >= 80:
                return 'A'
            if self.score >= 60:
                return 'B'
            return 'C'
    
    
    
    
    class TestStudent(unittest.TestCase):
    
    
        def test_80_to_100(self):
            s1 = Student('Bart', 80)
            s2 = Student('Lisa', 100)
            self.assertEqual(s1.get_grade(), 'A')#
            self.assertEqual(s2.get_grade(), 'A')
    
    
        def test_60_to_80(self):
            s1 = Student('Bart', 60)
            s2 = Student('Lisa', 79)
            self.assertEqual(s1.get_grade(), 'B')
            self.assertEqual(s2.get_grade(), 'B')
    
    
        def test_0_to_60(self):
            s1 = Student('Bart', 0)
            s2 = Student('Lisa', 59)
            self.assertEqual(s1.get_grade(), 'C')
            self.assertEqual(s2.get_grade(), 'C')
    
    
        def test_invalid(self):
            s1 = Student('Bart', -1)
            s2 = Student('Lisa', 101)
            with self.assertRaises(ValueError):
                s1.get_grade()#
            with self.assertRaises(ValueError):
                s2.get_grade()
    
    
    if __name__ == '__main__':
        unittest.main()
    
    #编写文档测试
    def fact(n):
        '''
        Calculate 1*2*...*n
    
    
        >>> fact(1)
        1
        >>> fact(10)
        3628800
        >>> fact(-1)
        Traceback (most recent call last):
            ...
        ValueError
        '''
        if n < 1:
            raise ValueError()
        if n == 1:
            return 1
        return n * fact(n - 1)
    
    
    
    
    if __name__=='__main__':
        import doctest
        doctest.testmod()
  • 相关阅读:
    【407训练】第一周总结
    [Ural1306] Sequence Median(网上很多题解骗人,这才是对的!业界良心!)
    拓扑排序
    前端知识——Django
    前端知识——jQuery、前端插件、web框架、Django
    前端知识——DOM、jQuery
    前端知识——HTML、CSS
    python整理-day13
    python整理-day12
    python整理-day11
  • 原文地址:https://www.cnblogs.com/MalcolmMeng/p/8442960.html
Copyright © 2011-2022 走看看