同济《Python程序设计》课后习题参考答案.docx
《同济《Python程序设计》课后习题参考答案.docx》由会员分享,可在线阅读,更多相关《同济《Python程序设计》课后习题参考答案.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、选择题LB 2.D3.C4.C二、简答题(1)简单易学(2)解释性(3)可移植性(4)可扩展性(5)面向对象(6)丰富的库Web应用开发(2)自动化运维.网络安全(4).网络爬虫(5).游戏开发(6).数据分析.人工智能三、编程题l.print(Helio, World!.)2*)printCttHelIo Python World!)print,*)第2章2.6习题一、选择题I.C 2.D3.C4.A5.B6.D二、填空题2.26 2.type() 3.274. -5.75; -65. False三、简答题1 .(1)变量名必须由字母、数字、或者下划线(_)组成。(2)不能使用空格、连字
2、符、标点符号、引号等其他特殊字符。(3)以字母或下划线开头,但不能以数字开头(4)严格区分大小写。(5)要避免与Python关键字和函数名冲突.见表2.4.第3章3.4综合实验#1si = keep on going never give up 52 = si.capital ize()print(s2)#253 = s2.strip()print(s3)#3print (s3.endswith(up)#4print (sS.startswithCon*)import mathsidejength = int(input(请输入正方形的边长:)def equal_radius():print(
3、niath.sqrl(pow(side_lenglh,2)/ina(h.pi)cqual_radius()一、选择题LA 2.A3.D4.A5.B二、简答题类变量指的是定义在类中,但在各个类方法外的变量。类变量的特点是:所有类的实例化 对象都可以共享类变量的值,即类变量可以在所有实例化对象中作为公用资源。实例变量 指的是定义在类的方法中的属性,它的特点是:只作用于调用方法的对象。需要注意的是, 实例变量只能通过对象名访问,无法通过类名直接访问。Pyihon允许通过对象访问类变量, 但无法通过对象修改类变量的值。因为,通过对象修改类变量的值,不是在给“类变量赋 值”,而是定义新的实例变量。继承:
4、实现代码的重用,不需要重发编写代码。子类拥有父类所有的属性和方法。也可以 重新父类方法。封装:根据职责将属性和方法封装到一个抽象的类中。多态:不同的对象 调用相同的代码,产生不同的效果,提高代码的灵活性。三、编程题1:class StudcntO:def_init_(self,name,num,gender): self._name = name self.num = num self.gender = genderdef setName(self, name): self._name = namedef gctNamc(sclf):return self._namedef setGender
5、(self, gender): self.gender = genderdef getGender(self): return self._gender2:class Animal():def show(self):prim (动物的特性”)class Dog(Animal):definit_(self,ability):sclf.abilityl = abilitydef show(self):prim(小狗会 s”(self.ability I)class Bird(Animal):def_init_(self,ability):self.ability2 = abilitydef sho
6、w(self):prini(“小鸟会 s”(self.abilily2)def func(tcnip):temp.show()dog = Dog(跳)bird = Bird(飞)func(dog)func(bird)第9章一、选择题l.B 2.A3.A4.D5.C二、简答题绝对路径:指的是从盘符开始的路径,通常要比相对路径要长。相对路径:指的是从当前路径开始的路径。1. pickle模块可以用来处理所有Python的数据类型,而json模块只能用来处理基本数 据类型。(2)pickle模块在序列化后的数据类型变为二进制类型,在进行读写式需要采用*b模式, 而json模块在序列化后的数据类型变为
7、json串(字符串)类型。(3)pickle模块主要用于Python程序对象的持久化和程序之间的对象网络传输,而json 可用于各种语言之间的字符转换。三、编程题(1)file_pa(h = D:cgjWowel.txtwith open(file_path,w) as file:print(情依次输入A,E,LO,U五个元音字母)for i in range(5):passage = inpul(请输入大写的元音字母:) file.write(passage + n)(2) file_path = D:cgjVowel.txtwith opcn(filc_path,r) as file:co
8、ntents = flle.readlines();with openCDAcgjWowe.txt/w) as :for num in contents:s = nuin.lover()file_l.write(s)1. (1)num = 10students = name_list =j= 1for i in range(num):name = input(please input student name:)if name not in name_list:name_list.append(name)else:name = name + slr(j)j+= 1namejist.append
9、(name)gender = input(please input + name + *s gender :) class_namc = input(plcasc input + name + s class_namc:) grade = inpul(please input + name + s grade:) studentsfname = gender,class_name,gradeprint(students)(2) num = 10students = namc_list = |j= 1for i in range(nuni):name = input(please input s
10、tudent name:)if name not in name_list:namejist.appcnd(namc)else:name = name + str(j)j += name_list.append(name)gender = input(please input + name + s gender :) class_name = input(please input + name + s class_name:) grade = inpuUplease input + name + ”s grade:) studentsname = gender,class_nanie,grad
11、efile_path = D:cgjsludents.txtwith opcn(file_path,w) as file:for key,value in students.i(ems():file.write(key + + str( value) + *n)(3) import picklenum = 10students = namc_list =j= 1for i in range(num):name = input(please input student name:)if name not in name_list:naine_iist.append(name)else:name
12、= name + str(j)j += nanic_list.appcnd(name)gender = input(please inpul + name + s gender :) class_name = input(please input + name + s class_name:) grade = input(please input + name + s grade:)studentsfnamel = gender.class_name,gradeprint(studcnts)file_path = D:cgjstudents2.txtwith open(file_path,wb
13、) as file:for key.value in students.items():picklc.dump(key,file)pickle.dunip(str( value),file)第10章一、选择题l.C 2.B二、填空题1. shape、size 2. Series DataFrame 3.scatter pie bar 二、编程题.1. import numpy as npimport niatplotlib.pyplot as pitx = np.arange(0, 2 *np.pi, 0.1)y = np.sin(x)plt.figure()plt.xlabel(x)plt.
14、ylahcl(y)plt.plot(x, y,color=b)import numpy as npimport niatplotlib.pyplot as pitimport mpl_toolki(s.mplot3dx,y = np.mgrid-2 : 2 : 20j, -2:2: 20jz = 50 * np.cos(x + y)ax = plt.subplot( 111. projection = 3d)ax.plot_surface(x, y, z, rstride = 2, cstridc = 1, cmap = plt.cm.Blucs_r)ax.set_xlabel(,X)ax.s
15、et_ylabel(Y)ax.set_zlabel(Z)#5 print (s3.replace(e,aa) #6print (sS.splitCn1) #7print (s3.upper()#8nl = Lilyprint (%s says: %s.%(nl,s3) #9print (s3.center(40,#)#10print (s3.count(e) #11print (s3.split() #12print (7,.join(s4) #13print ( .join(s4:-l)1. 5习题一、选择题 l.B 2.D3.C4.C二、填空题 1. moonshipfricnd 3.54
16、. bEIjlNGspam 三、编程题 1.strl = I want lo go to Beijing. Berli and Beijing this year. How about you? str2 = strl.split() str2 = .join(str2) print (str2) 2. 思路:(1) .变量名的第一个字符是否为字母或下划线(2) .如果是,继续判断-4(3) .如果不是,报错(4) .依次判断除了第一个字符之外的其他字符.判断是否为字母数字或者下划线 while True:s = inputf请输入字符(q退出):)if s = q: exit()#判断字符串
17、第一个变量是否满足条件if sfOl.isalphaO or sfO =for i in sl:#判断判断除了第一个元素之外的其他元素是否满足条件if i.isalnum() or i =continueelse:prim(不合法)breakelse:print。合法)else:printC不合法)3.#!/usr/bin/env python#coding:utf-8s = input(输入:)si = s.split()s2 = sl0.uppcr()s3 = sl-ll.upper()print (s2.count(s3)4.s = input(inpul a string:n) let
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计 同济 Python 程序设计 课后 习题 参考答案
限制150内