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

摘要:
“”这是11-1和11-2的练习,以接受城市名称“”“defget_ciy_name(城市,国家):#定义城市名称的函数有两个正式参数city_name=city+','+countryreturncity_name。title()#将值返回到函数,并使用title()方法将每个单词的第一个字母转换为大写“”“”“11-2”“defget_city_name(city
'''这是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()

免责声明:文章转载自《python从入门到实践第十一章练习题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTML 几种特别分割线特效left:0; right:0; top:0; bottom:0;居中下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用python从redis的有序集合中一次性删除多个值

最近做的一个东西,需要用python从redis的有序集合中一次性删除多个值; redis的自带方法zrem是支持此功能的 # 移除多个元素 redis> ZREM page_rank baidu.com bing.com (integer) 2 python redis 的api 中也支持 zrem(self, name, *values)...

python文件路径分隔符的详细分析

写了挺久的python,文件分隔符的掌握肯定是必须的,但是我之前写的都是不规范的文件路径分隔符,例如‘’C:User emppython.txt’,一直都没有报过错。也不知为啥,今天查阅资料才知道自己写的都是些假的python,所以就在此记录一下。 主要是需要考虑分隔符的问题:在Windows系统下的分隔符是: (反斜杠)。 在Linux系统下的分隔符是:...

python 批量ping服务器

最近在https://pypi.python.org/pypi/mping/0.1.2找到了一个python包,可以用它来批量ping服务器,它是中国的大神写的,支持单个服务器、将服务器IP写在txt或json里都可以。 具体用法有中文文档,感谢作者youfou 这里我改了几个字,方便我这种英文不好的同学使用 mping.py #!/usr/bin/en...

python如何获取公众号下面粉丝的openid

如何获取公众号下面粉丝的openid呢,首先要获取一个access_token,这个token可不是令牌(Token),如何获取这个access_token呢?有两种方法,方法如下: #-*- coding: cp936 -*- #python 27 #xiaodeng #原文在 https://www.cnblogs.com/dengyg200891/p...

python读取文件时出现多余的ufeff时的解决方法及原因

当使用python读取文件后打印结果意外多出了一个ufeff,如图: 那要如何解决呢?其实也很简单只要将encoding = 'utf-8' 改成encoding = 'UTF-8-sig'就搞定了,如图: 问题是解决了,但是这到底是什么原因呢? 答:在编写文本时保存时包含了BOM(Byte Order Mark,字节顺序标记,出现在文本文件头部,Un...

[读书笔记] Python 数据分析 (十一)经济和金融数据应用

resample: 重采样函数,可以按照时间来提高或者降低采样频率,fill_method可以使用不同的填充方式。 pandas.data_range 的freq参数枚举: Alias Description B business day frequency C custom business day frequency D calend...