好文档 - 专业文书写作范文服务资料分享网站

《Python程序设计方案》习题与答案 

天下 分享 时间: 加入收藏 我要投稿 点赞

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 return r

def show(self):

print((self.X,self.Y,self.Z)) v1 = Vecter3(1,2,3) v2 = Vecter3(4,5,6) v3 = v1+v2 v3.show() v4 = v1-v2 v4.show() v5 = v1*3 v5.show() v6 = v1/2 v6.show()

6.3 面向对象程序设计的三要素分别为 封装 、 继承 和 多态 。 6.4 简单解释Python中以下划线开头的变量名特点。 答:

在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定义中。用下划线作为变量前缀和后缀来表示类的特殊成员:

? _xxx:这样的对象叫做保护变量,不能用'from module import *'导入,只有类对象和子类对象能访问这些变量;

? __xxx__:系统定义的特殊成员名字;

? __xxx:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式来访问。Python中没有纯粹的C++意义上的私有成员。

6.5 与运算符“**”对应的特殊方法名为__pow__(),与运算符“//”对应的特殊方法名为 __floordiv__() 。

第7章 文件操作

7.1 假设有一个英文文本文件,编写程序读取其内容,并将其中的大写字母变为小写字母,小写字母变为大写字母。

答:

f = open(r'd:\\1.txt','r') s = f.readlines() f.close()

r = [i.swapcase() for i in s]

f = open(r'd:\\2.txt','w') f.writelines(r) f.close()

7.2 编写程序,将包含学生成绩的字典保存为二进制文件,然后再读取内容并显示。 答:Python 3.4.2代码 import pickle

d = {'张三':98,'李四':90,'王五':100} print(d)

f = open('score.dat','wb') pickle.dump(1,f) pickle.dump(d,f) f.close

f = open('score.dat','rb') pickle.load(f) d = pickle.load(f) f.close() print(d)

7.3 使用shutil模块中的move()方法进行文件移动。 答:

>>> import shutil

>>> shutil.move(r'd:\\1.txt', r'e:\\1.txt') 'e:\\\\1.txt'

7.4 简单解释文本文件与二进制文件的区别。 答:

(1)文本文件

文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符'\\n'结尾。常规字符串是指记事本或其他文本编辑器能正常显示、编辑并且人类能够直接阅读和理解的字符串,如英文字母、汉字、数字字符串。文本文件可以使用字处理软件如gedit、记事本进行编辑。

(2)二进制文件

二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据库文件、各类office文档等都属于二进制文件。

7.5 编写代码,将当前工作目录修改为“c:\\”,并验证,最后将当前工作目录恢复为原来的目录。

答:

>>> import os >>> os.getcwd() 'C:\\\\Python34'

>>> os.chdir(r'c:\\\\') >>> os.getcwd() 'c:\\\\'

>>> os.chdir(r'c:\\Python34') >>> os.getcwd() 'c:\\\\Python34'

7.6 编写程序,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件。

答:

1)Python 3.4.2代码 import sys import os

directory = sys.argv[1] filename = sys.argv[2] paths = os.walk(directory) for root,dirs,files in paths: if filename in files: print('Yes')

break else:

print('No')

2)Python 2.7.8代码 import sys import os

directory = sys.argv[1] filename = sys.argv[2] paths = os.walk(directory) for root,dirs,files in paths: if filename in files: print 'Yes' break else:

print 'No'

《Python程序设计方案》习题与答案 

print(self.__major)if__name__=='__main__':zhangsan=Person('ZhangSan',19,'man')zhangsan.show()lisi=Student('LiSi',32,'man','Math')lisi.show()<
推荐度:
点击下载文档文档为doc格式
1sa2a4wdfy9ersa9pruq6ksx797jw500wph
领取福利

微信扫码领取福利

微信扫码分享