zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    PHP中simpleXML递归实现XML文件与数组的相互转化(原创)
    关于本地服务器localhost请求Forbidden解决办法
    PHP中XPATH 实现xml及html文件快速解析(附xml做小型数据库实现六级单词快速查询实例)
    win8忘记开机密码解决方法汇总
    HTML5的FileAPI实现文件的读取及超大文件的上传
    FormData实现form表单的数据打包
    Ajax_iframe文件上传
    深入浅出JSONP--解决ajax跨域问题
    2017ACM暑期多校联合训练
    2017ACM暑期多校联合训练
  • 原文地址:https://www.cnblogs.com/upuser/p/13258201.html
Copyright © 2011-2022 走看看