高级编程技术第六周平时作业
10-11 喜欢的数字:
First program:
import json
filename = 'number.json'
number = input("Input your favorite integer number: ")
try:
number = int(number)
except ValueError:
print(number + ' is not a valuable integer number.')
else:
with open(filename, 'w') as f_obj:
json.dump(number, f_obj)
print('OK')
Second Program:
import json
filename = 'number.json'
try:
with open(filename) as f_obj:
number = json.load(f_obj)
except FileNotFoundError:
print('You should tell me your favorite number first.')
else:
print("I know your favorite number! It's " + str(number))
11-1 城市和国家:
import unittest
def city_country(city, country):
return city.title() + ', ' + country.title()
class CityCountryTestCase(unittest.TestCase):
def test_city_country(self):
c_c = city_country('santiago', 'chile')
self.assertEqual(c_c, 'Santiago, Chile')
unittest.main()
11-2 人口数量:
import unittest
def city_country(city, country, population):
return city.title() + ', ' + country.title() + ' - population ' + str(population)
class CityCountryTestCase(unittest.TestCase):
def test_city_country(self):
c_c = city_country('santiago', 'chile', 20000000)
self.assertEqual(c_c, 'Santiago, Chile - population 20000000')
unittest.main()
import unittest
def city_country(city, country, population=50000000):
return city.title() + ', ' + country.title() + ' - population ' + str(population)
class CityCountryTestCase(unittest.TestCase):
def test_city_country(self):
c_c = city_country('santiago', 'chile', 20000000)
self.assertEqual(c_c, 'Santiago, Chile - population 20000000')
def test_city_country_population(self):
c_c = city_country('santiago', 'chile')
self.assertEqual(c_c, 'Santiago, Chile - population 50000000')
unittest.main()
11-3 雇员:
import unittest
class Employee():
def __init__(self, F_n, S_n, Y_s):
self.First_name = F_n
self.Second_name = S_n
self.Yearly_salary = Y_s
def geive_raise(self, num=5000):
self.Yearly_salary += num
class EmployeeTestCase(unittest.TestCase):
def setUp(self):
self.employee = Employee('Kiko', 'Green', 20000)
def test_give_default_raise(self):
self.assertEqual('Kiko Green', self.employee.First_name + ' '
+ self.employee.Second_name)
self.assertEqual(self.employee.Yearly_salary, 20000)
def test_give_custom_raise(self):
self.employee.geive_raise()
self.assertEqual(self.employee.Yearly_salary, 25000)
self.employee.geive_raise(2000)
self.assertEqual(self.employee.Yearly_salary, 27000)
unittest.main()