高階程式設計技術第十一次作業

2021-08-19 04:42:30 字數 3055 閱讀 4043

11-1 城市和國家 :編寫乙個函式,它接受兩個形參:乙個城市名和乙個國家名。這個函式返回乙個格式為city, country 的字串,如santiago, chile 。將這個函式儲存在乙個名為city_functions.py的模組中。

建立乙個名為test_cities.py的程式,對剛編寫的函式進行測試(別忘了,你需要匯入模組unittest 以及要測試的函式)。編寫乙個名為test_city_country() 的方法,核實使用類似於'santiago' 和'chile' 這樣的值來呼叫前述函式時,得到的字串是正確的。執行test_cities.py ,確認測試test_city_country() 通過了。

city_functions.py:

def func(countryname, cityname):

return cityname.title() + ',' + countryname.title()

test_cities.py:

import unittest

from city_functions import func

class testcity(unittest.testcase):

def test_name(self):

name = func('china', 'guangzhou')

self.assertequal(name, 'guangzhou,china')

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() 通過了。

修改為可選時的**:

def func(countryname, cityname, population = -1):

name = cityname.title() + ',' + countryname.title();

if population != -1:

name += '-population ' + str(population)

return name

測試**:

import unittest

from city_functions import func

class testcity(unittest.testcase):

def test_name(self):

name = func('china', 'guangzhou')

self.assertequal(name, 'guangzhou,china')

def test_city_country_population(self):

name = func('china', 'guangzhou', 1)

self.assertequal(name, 'guangzhou,china-population 1')

unittest.main()

11-3 雇員 :編寫乙個名為employee 的類,其方法__init__() 接受名、姓和年薪,並將它們都儲存在屬性中。編寫乙個名為give_raise() 的方法,它預設將年薪增加5000美元,但也能夠接受其他的年薪增加量。

為employee 編寫乙個測試用例,其中包含兩個測試方法:test_give_default_raise() 和test_give_custom_raise() 。使用方法setup() ,以免在每個測試方法中都建立新的雇員例項。執行這個測試用例,確認兩個測試都通過了。

employee類:

class employee:

def __init__(self, first_name, last_name, money):

self.first_name = first_name

self.last_name = last_name

self.money = money

def give_raise(self, money = 5000):

self.money = money

def get_money(self):

return self.money

測試**:

import unittest

from p113 import employee

class testemployee(unittest.testcase):

def setup(self):

first_name = 'yang'

last_name = 'li'

self.test = employee(first_name, last_name, 0);

def test_default_money(self):

self.test.give_raise()

money = self.test.get_money()

self.assertequal(5000, money)

def test_given_money(self):

money = self.test.give_raise(2333)

money = self.test.get_money()

self.assertequal(2333, money)

unittest.main()

高階程式設計作業第十一次作業

exercise 10.1 least squares generate matrix a rm n with m n.also generate some vector b rm.now find x arg minx ax b 2.print the norm of the residual 用...

第十一次作業

問題 答案這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 精通c語言,深入了解c語言的程式設計,學會自己編寫程式 這個作業在那個具體方面幫助我實現目標 進一步的的認識函式,學習函式的定義 呼叫和申明,並學習變數的作用域 生存週期和儲存型別 參考文獻 1.pta實驗作業...

第十一次作業

這個作業屬於哪個課程 c語言程式設計ll 這個作業要求在 我在這個課程的目標是 熟練掌握運用各語法 這個作業在哪個具體方面幫助我實現目標 巨難的程式設計題 參考文獻 題目內容描述 本題要求實現乙個函式,判斷任一給定整數n是否滿足條件 它是完全平方數,又至少有兩位數字相同,如144 676等。1.1....