• python从入门到实践第十一章练习题


    '''这是11-1和11-2的练习题用于接受城市名称的函数'''
    """

    def get_ciy_name(city,country):#定义一个城市名称的函数有2个形参
    city_name = city + ',' + country
    return city_name.title()#把值返回给函数,用title()的方法把每个单词的第一个字母转换为大写
    """
    '''11-2'''
    def get_ciy_name(city,country,population=''):#定义一个城市名称的函数有3个形参其中最好一个是可选用默认值空代替
    if population:
    city_name = city + ',' + country +' ' + 'population' + ' ' + str(population)
    else:
    city_name = city + ',' + country
    return city_name.title()


    '''这是11-1和11-2的的练习题'''
    '''这是个单元测试,定义了一个方法用于测试get_ciy_name这个函数的正确性'''
    import unittest#导入单元测试
    from city_functions import get_ciy_name#导入自己编写的模块文件中的get_ciy_name函数

    class City_test(unittest.TestCase):#定义了一个类继承unittest.TestCase
    def test_city_name(self):#定义了一个方法
    city_name = get_ciy_name('cq','china')#调用get_ciy_name函数给实参并把值赋值给变量
    self.assertEqual(city_name,'Cq,China')#用assertEqual方法比对输出的结果是否一直

    def test_city_country_population(self):#定义一个测试方法
    city_name = get_ciy_name('cq','china',50000)#测试get_ciy_name函数给可选实参的情况下的值
    self.assertEqual(city_name,'Cq,China Population 50000')

    if __name__ == '__main__':#如果程序在本文件用运行就运行if语句以下的代码,如果是已模块的方式导入就不运行if以下的代码相当于一个程序的虚拟入口
    unittest.main(
    '''这是11-3的练习题employee.py'''
    class Employee():
    def __init__(self,last_name,first_name,annualsalary):
    self.last_name = last_name
    self.first_name = first_name
    self.annualsaalary = annualsalary

    def give_raise(self,addanual=5000):#给形参一个初始值
    self.annualsaalary += addanual
    print(self.annualsaalary)

    '''这是employee的类测试'''
    import unittest
    from employee import Employee

    class Test_employee(unittest.TestCase):#切记要继承unittest.TestCase的父类

    def setUp(self) -> None:#用setUp创建一个对象给测试的方法使用,好处是可以在整个类使用,应为是存储在变量self中
    self.def_info = Employee('alex','liu',2000)

    def test_give_def_rais(self):
    self.def_info.give_raise()#调用上面setUp那个变量
    self.assertEqual(self.def_info.annualsaalary,7000)

    def test_user_rais(self):
    self.def_info.give_raise(1000)
    self.assertEqual(self.def_info.annualsaalary,3000)

    if __name__ == '__main__':
    unittest.main()

  • 相关阅读:
    条件语句、循环语句
    var、符号运算、条件语句、三元(目)运算、自加和自减
    js的介绍
    浏览器的差距、ie6 ie7 ie8、符号、html css、BFC、
    单位、浏览器、布局、
    z-index、absolute、marquee滚动条的问题
    js数据类型 方法 函数
    js函数
    全局方法或全局属性
    数据类型
  • 原文地址:https://www.cnblogs.com/upuser/p/13258201.html
Copyright © 2020-2023  润新知