11-1 城市和國家 :編寫乙個函式,它接受兩個形參:乙個城市名和乙個國家名。這個函式返回乙個格式為city, country 的字串,如santiago, chile 。將 這個函式儲存在乙個名為city_functions.py的模組中。
建立乙個名為test_cities.py的程式,對剛編寫的函式進行測試(別忘了,你需要匯入模組unittest 以及要測試的函式)。編寫乙個名為test_city_country() 的 方法,核實使用類似於'santiago' 和'chile' 這樣的值來呼叫前述函式時,得到的字串是正確的。執行test_cities.py ,確認測 試test_city_country() 通過了。
from city_functions import city_country
import unittest
class citytestcase(unittest.testcase):
def test_city_country(self):
city1 = city_country('santiago', 'chile')
self.assertequal(city1,'santiago, chile')
unittest.main()
11-2 人口數量 :修改前面的函式,使其包含第三個必不可少的形參population ,並返回乙個格式為city, country - population *** 的字串, 如santiago, chile - population 5000000 。執行test_cities.py,確認測試test_city_country() 未通過。 修改上述函式,將形參population 設定為可選的。再次執行test_cities.py,確認測試test_city_country() 又通過了。 再編寫乙個名為test_city_country_population() 的測試,核實可以使用類似於'santiago' 、'chile' 和'population=5000000' 這樣的值來呼叫 這個函式。再次執行test_cities.py,確認測試test_city_country_population() 通過了。
from city_functions import city_country2
import unittest
class testcity(unittest.testcase):
def test_city_country(self):
city2 = city_country2('santiago', 'chile')
self.assertequal(city2,'santiago, chile')
def test_city_country_population(self):
city3 = city_country2('santiago', 'chile', 'population=5000000')
self.assertequal(city3,'santiago, chile - population=5000000')
unittest.main()
11-3 雇員 :編寫乙個名為employee 的類,其方法__init__() 接受名、姓和年薪,並將它們都儲存在屬性中。編寫乙個名為give_raise() 的方法,它預設將 年薪增加5000美元,但也能夠接受其他的年薪增加量。
為employee 編寫乙個測試用例,其中包含兩個測試方法:test_give_default_raise() 和test_give_custom_raise() 。使用方法setup() ,以免在 每個測試方法中都建立新的雇員例項。執行這個測試用例,確認兩個測試都通過了。
class employee():
def __init__(self, first, last, salaryyear):
self.first = first
self.last = last
self.salaryyear = salaryyear
def give_raise(self,add = 5000):
self.salaryyear += add
return self.salaryyear
from employee import employee
import unittest
class testcase(unittest.testcase):
def setup(self):
self.defaultemploy = employee('ming', 'xiao', 1000)
self.ans1 = 9000
self.give_raise_ = employee('hua', 'xiao', 800)
self.ans2 = 10000
def test_give_default_raise(self):
self.assertequal(str(self.ans1), str(self.defaultemploy.give_raise(0)))
def test_give_custom_raise(self):
self.assertequal(self.ans2,self.give_raise_.give_raise(500))
unittest.main()
Python程式設計從入門到實踐課後題5 10參考
這題我也是看了之後一時間不知道如何解決,後來看到這位大哥的方法後才有點明白,特此寫下來給自己加油鼓勵 current users admin user 01 cangjie zero 01 zzz 建立乙個列表 new users admin user 01 zero 01 4444 fangyan...
Python 從入門到實踐 6 1 課後習題
6.1 人 使用乙個字典來儲存乙個熟人的資訊,包括名 姓 年齡和居住的城市。該字典應包含鍵first name last name age 和city。將儲存在該字典中的每項資訊都 列印出來。message print the information of str message first nam...
Python 從入門到實踐 8 6 課後習題
8.6 城市名 編寫乙個名為city country 的函式,它接受城市的名稱及其所屬的 國家。這個函式應返回乙個格式類似於下面這樣的字串 defcity country city,country full city country city country returnfull city coun...