返回编程题列表12345
面向对象2/编程题/1.7.3Address类的构造和测试
面/对
2
【问题描述】一个address(地址),应该有省名字、城市名字、街道、小区名字、门牌号、邮政编码。定义构造函数使得可以使用两种方式创建对象:带邮政编码和不带邮政编码(也就是说邮政编码可以有默认值为空)。编写一个方法 showAddress 能输出街道、小区名字、门牌号三个在一行,省名字、城市名字、邮政编码在另外一行。
历史作
面
向对C Address
象1 init (self,province,city,street,house,apt,postal=“”)
showAddress (self)
》复合数据类型附加题
最后编写一些代码来测试这个类,实例化两个对象,用两种输入来调用构造函数。并调用 showAddress 方法输出对象。
测试代码如下:
province, city, street, house, apt=input(). split()》字
aAddress(province, city, street, house, apt)典
province, city, street, house, apt, postal=input(). split()b=Address(province, city, street, house, apt, postal)
》集台、元组。文件
a. showAddress ()
print()轴出一个空行来
b. showAddress ()
》列
【注意】要能够顺利的输入和输出中文,请在文件的最顶端输入如下的语句:
表3
#coding:utf-8
》列表2
import to
import sys
》列表1
sys. stdout= io. TextIOWrapper (sys. stdout. buffer. encoding='utf-8')sys. stain=io. TextIOWrapper (sys. stdin, buffer, encoding='utf-8')
》函
数2
这个意思?
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
class Address():
def __init__(self, province, city, street, house, apt, postal = ""):
self.province = province
self.city = city
self.street = street
self.house = house
self.apt = apt
self.postal = postal
def showAddress(self):
print(f"{self.street} {self.house} {self.apt} {self.postal}")
print(f"{self.province} {self.city}")
province, city, street, house, apt = input(">>>").split()
a = Address(province, city, street, house, apt)
a.showAddress()
province, city, street, house, apt, postal = input(">>>").split()
b = Address(province, city, street, house, apt, postal)
b.showAddress()