教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

《Python程序设计基础》习题答案与分析(3)

来源:网络收集 时间:2026-05-15
导读: return r x = [1,3,5,2,1,0,9,7] print(x) print(Sorted(x)) 习题答案与分析 第6章 面向对象程序设计 6.1 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。 答

return r

x = [1,3,5,2,1,0,9,7]

print(x)

print(Sorted(x))

习题答案与分析

第6章 面向对象程序设计

6.1 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。

答:Python 3.4.2代码为

import types

class Person(object): #基类必须继承于object,否则在派生类中将无法使用super()函数 def __init__(self, name = '', age = 20, sex = 'man'):

self.setName(name)

self.setAge(age)

self.setSex(sex)

def setName(self, name):

if not isinstance(name,str):

print('name must be string.')

return

self.__name = name

def setAge(self, age):

if not isinstance(age,int):

print('age must be integer.')

return

self.__age = age

def setSex(self, sex):

if sex != 'man' and sex != 'woman':

print('sex must be "man" or "woman"')

return

self.__sex = sex

def show(self):

print(self.__name)

print(self.__age)

print(self.__sex)

class Student(Person):

def __init__(self, name='', age = 30, sex = 'man', major = 'Computer'):

#调用基类构造方法初始化基类的私有数据成员

super(Student, self).__init__(name, age, sex)

self.setMajor(major) #初始化派生类的数据成员

def setMajor(self, major):

if not isinstance(major, str):

print('major must be a string.')

return

self.__major = major

def show(self):

super(Student, self).show()

习题答案与分析

print(self.__major)

if __name__ =='__main__':

zhangsan = Person('Zhang San', 19, 'man')

zhangsan.show()

lisi = Student('Li Si',32, 'man', 'Math')

lisi.show()

6.2 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。 答:Python 3.4.2代码如下

class Vecter3:

def __init__(self, x=0, y=0, z=0):

self.X = x

self.Y = y

self.Z = z

def __add__(self, n):

r = Vecter3()

r.X = self.X + n.X

r.Y = self.Y + n.Y

r.Z = self.Z + n.Z

return r

def __sub__(self, n):

r = Vecter3()

r.X = self.X - n.X

r.Y = self.Y - n.Y

r.Z = self.Z - n.Z

return r

def __mul__(self, n):

r = Vecter3()

r.X = self.X * n

r.Y = self.Y * n

r.Z = self.Z * n

return r

def __truediv__(self, n):

r = Vecter3()

r.X = self.X / n

r.Y = self.Y / n

r.Z = self.Z / n

return r

def __floordiv__(self, n):

r = Vecter3()

r.X = self.X // n

r.Y = self.Y // n

r.Z = self.Z // n

《Python程序设计基础》习题答案与分析(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/38821.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)