ImageVerifierCode 换一换
格式:DOCX , 页数:95 ,大小:44.94KB ,
资源ID:12918889      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12918889.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Python程序设计》练习习题及答案.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《Python程序设计》练习习题及答案.docx

1、Python程序设计练习习题及答案Python 程序设计习题与参照答案第 1章 基础知识 简单说明怎样选择正确的 Python 版本。答:在选择 Python 的时候,必定要先考虑清楚自己学习 Python 的目的是什么,打当作哪方面的开发,有哪些扩展库可用,这些扩展库最高频频安装和卸载上。同时还应当注意,当更新的 Python 版本推出以后, 不要急于更新, 而是应当等确立自己所一定使用的扩展库也推出了较新版本以后再进行更新。只管这样, Python 3 毕竟是大势所趋,假如您临时还没想到要做什么行业领域的应用开发,或许只是是为了试试一种新的、好玩的语言,那么请绝不踌躇地选择列的最高版本(目

2、前是 )。 为何说 Python 采纳的是鉴于值的内存管理模式?系答:Python 采纳的是鉴于值的内存管理方式,假如为不一样变量赋值同样值,则在内存中只有一份该值,多个变量指向同一块内存地点,比以下边的代码。x = 3id(x)y = 3id(y)y = 5id(y)id(x) 在 Python 中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名 as 又名 from 模块名 import 对象名 as 又名 from math import * 使用 pip 命令安装 numpy、scipy 模块。答:在命令提示符环境下履行下边的命令:pip install

3、numpypip install scipy 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。比如用户输入 1234,则程序输出 12。(提示:使用整除运算。 )答:x = input(Please input an integer of more than 3 digits:)try:x = int(x)x = x/100if x = 0:print(You must input an integer of more than 3 digits.)else:print(x)except BaseException:print(You must input an integer.)

4、import typesx = input(Please input an integer of more than 3 digits:)if type(x) != types.IntType:print You must input an integer.elif len(str(x) != 4:print You must input an integer of more than 3 digits.else:print x/100第 2 章 Python 数据结构 为何应尽量从列表的尾部进行元素的增添与删除操作?答:当列表增添或删除元素时,列表对象自动进行内存扩展或缩短,进而保证元素之间

5、没有空隙,但这波及到列表元素的挪动,效率较低,应尽量从列表尾部进行元素的增添与删除操作以提升办理速度。 编写程序, 生成包括 1000 个 0 到 100 之间的随机整数,并统计每个元素的出现次数。(提示:使用会合。 )答:import randomx = random.randint(0,100) for i in range(1000)d = set(x)for v in d:print(v, :, x.count(v)import randomx = random.randint(0,100) for i in range(1000)d = set(x)for v in d:print

6、v, :, x.count(v) 编写程序,用户输入一个列表和 2 个整数作为下标,而后输出列表中介于 2 个下标之间的元素构成的子列表。比如用户输入 1,2,3,4,5,6 和 2,5 ,程序输出 3,4,5,6 。答:x = input(Please input a list:)x = eval(x)start, end = eval(input(Please input the start position and the end position:)print(xstart:end)x = input(Please input a list:)start, end = input(Pl

7、ease input the start position and the end position:)print xstart:end 设计一个词典,并编写程序,用户输入内容作为键,而后输出词典中对应的值,假如用户输入的键不存在,则输出“您输入的键不存在! ”答:d = 1:a, 2:b, 3:c, 4:dv = input(Please input a key:)v = eval(v)print(d.get(v, 您输入的的键不存在 )d = 1:a, 2:b, 3:c, 4:dv = input(Please input a key:)print(d.get(v, 您输入的的键不存在 )

8、 编写程序,生成包括 20 个随机数的列表,而后将前 10 个元素升序摆列,后 10 个元素降序摆列,并输出结果。答:import randomx = random.randint(0,100) for i in range(20)print(x)y = x0:10y.sort()x0:10 = yy = x10:20y.sort(reverse=True)x10:20 = yprint(x)import randomx = random.randint(0,100) for i in range(20)print xy = x0:10y.sort()x0:10 = yy = x10:20y.

9、sort(reverse=True)x10:20 = yprint x 在Python中,词典和会合都是用一对大括号作为定界符, 词典的每个元素有两部分构成,即键 和值 ,此中键 不一样意重复。 假定有列表 a = name,age,sex语句将这两个列表的内容变换为词典,而且以列表和 b = Dong,38,Malea 中的元素为键,以列表,请使用一个b 中的元素为值,这个语句能够写为c = dict(zip(a,b)。 假定有一个列表 a,现要求从列表 a 中每 3 个元素取 1 个,而且将取到的元素构成新的列表 b,能够使用语句 b = a:3 。 使用列表推导式生成包括 10 个数字

10、5 的列表,语句能够写为 5 for i inrange(10) 。 不可以够 (能够、不可以够)使用 del 命令来删除元组中的部分元素。第 3 章 选择结构与循环结构 剖析逻辑运算符“ or ”的短路求值特征。答:假定有表达式“表达式 1 or 表达式 2”,假如表达式 1 的值等价于 True ,那么不论表达式 2 的值是什么, 整个表达式的值老是等价于 True 。所以, 不需要再计算表达式 2 的值。 编写程序,运转后用户输入被 400 整除,则为闰年;假如年份能被4 位整数作为年份,判断其能否为闰年。假如年份能4 整除但不可以被 100 整除也为闰年。答:x = input(Ple

11、ase input an integer of 4 digits meaning the year:)x = eval(x)if x%400=0 or (x%4=0 and not x%100=0):print(Yes)else:print(No)x = input(Please input an integer of 4 digits meaning the year:)if x%400=0 or (x%4=0 and not x%100=0):print Yeselse:print No 编写程序,生成一个包括 50 个随机整数的列表,而后删除此中所有奇数。 (提示:从后向前删。)答:im

12、port randomx = random.randint(0,100) for i in range(50)print(x)i = len(x)-1while i=0:if xi%2=1:del xii-=1print(x)把上边的代码中第三行和最后一行改为 print x 即可。34 编写程序,生成一个包括 20 个随机整数的列表,而后对此中偶数下标的元素进行降序摆列,奇数下标的元素不变。 (提示:使用切片。 )答:import randomx = random.randint(0,100) for i in range(20)print(x)y = x:2y.sort(reverse=T

13、rue)x:2 = yprint(x)把上边的代码中第三行和最后一行改为 print x 即可。35编写程序, 用户从键盘输入小于 1000 的整数,对其进行因式分解。 比如, 10=25,60=2 2 3 5。答:x = input(Please input an integer less than 1000:)x = eval(x)t = xi = 2result = while True:if t=1:breakif t%i=0:result.append(i)t = t/ielse:i+=1Print x,=,*.join(map(str,result)x = input(Please

14、 input an integer less than 1000:)t = xi = 2result = while True:if t=1:breakif t%i=0:result.append(i)t = t/ielse:i+=1print x,=,*.join(map(str,result) 编写程序,起码使用 2 种不一样的方法计算 100 之内所有奇数的和。x = i for i in range(1,100) if i%2=1print(sum(x)print(sum(range(1,100):2) 编写程序,实现分段函数计算,以下表所示。x yx0 00=x5 x5=x10 3x

15、-510=x20 20=x 0x = input(Please input x:)x = eval(x)if x=20:print(0)elif 0=x5:print(x)elif 5=x10:print(3*x-5)elif 10=x20:print(0.5*x-2)第 4 章 字符串与正则表达式 假定有一段英文,此中有独自的字母“ I ”误写为“ i ”,请编写程序进行纠正。1)不使用正则表达式x = i am a teacher,i am man, and i am 38 years old.I am not a businessman.x = x.replace(i ,I )x = x

16、.replace( i , I )print(x)2)使用正则表达式x = i am a teacher,i am man, and i am 38 years old.I am not a businessman.import repattern = pile(r(?:w|b)i(?:w)while True:result = pattern.search(x)if result:if result.start(0) != 0:x = x:result.start(0)+1+I+xresult.end(0)-1:else:x = x:result.start(0)+I+xresult.end

17、(0)-1:else:breakprint(x) 假定有一段英文, 此中有单词中间的字母 “ i ”误写为 “ I ”,请编写程序进行纠正。import rex = I am a teacher,I am man, and I am 38 years old.I am not a busInessman.print(x)pattern = pile(r(?:w)I(?:w)while True:result = pattern.search(x)if result:if result.start(0) != 0:x = x:result.start(0)+1+i+xresult.end(0)-

18、1:else:x = x:result.start(0)+i+xresult.end(0)-1:else:breakprint(x) 有一段英文文本,此中有单词连续重复了2 次,编写程序检查重复的单词并只保留一个。比如文本内容为“This is is a desk.”,程序输出为“This is a desk.”1)方法一import rex = This is a a desk.pattern = pile(rb(w+)(s+1)1,b)matchResult = pattern.search(x)x = pattern.sub(matchResult.group(1),x)print(x)

19、2)方法二x = This is a a desk.pattern = pile(r(?Pbw+b)s(?P=f)matchResult = pattern.search(x)x = x.replace(matchResult.group(0),matchResult.group(1) 简单解说 Python 的字符串驻留体制。答:Python 支持字符串驻留体制,即:关于短字符串,将其赋值给多个不一样的对象时,内存中只有一个副本,多个对象共享该副本。这一点不合用于长字符串,即长字符串不恪守驻留体制,下边的代码演示了短字符串和长字符串在这方面的差别。a = 1234b = 1234id(a)

20、= id(b) Truea = 1234*50b = 1234*50id(a) = id(b) False 编写程序, 用户输入一段英文, 而后输出这段英文中所有长度为 3 个字母的单词。import rex = input(Please input a string:)pattern = pile(rba-zA-Z3b)print(pattern.findall(x)第 5 章 函数设计与使用答:原由是关于函数的默认值参数只会被办理一次,下次再调用函数而且不为默认值参数赋值时会持续使用前一次的结果,关于列表这样的结构,假如调用函数时为默认值参数的列表插入或删除了元素,将会获得保存,进而影响下

21、一次调用。 编写函数,判断一个整数能否为素数,并编写主程序调用该函数。import mathdef IsPrime(v):n = int(math.sqrt(v)+1)for i in range(2,n):if v%i=0:return Noelse:return Yesprint(IsPrime(37)print(IsPrime(60)print(IsPrime(113) 编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其余字符的个数,并以元组的形式返回结果。def demo(v):capital = little = digit = other =0for i in v:if

22、 A=i=Z:capital+=1elif a=i=z:little+=1elif 0=idef demo(): a=3print aa=5demo()3a55.5 编写函数,能够接收随意多个整数并输出此中的最大值和所有整数之和。def demo(*v):print(v)print(max(v)print(sum(v)demo(1,2,3)demo(1,2,3,4)demo(1,2,3,4,5) 编写函数,模拟内置函数 sum() 。def Sum(v):s = 0for i in v:s += ireturn sx = 1,2,3,4,5print(Sum(x)x = (1,2,3,4,5)

23、print(Sum(x) 编写函数,模拟内置函数 sorted() 。def Sorted(v):t = v:r = while t:tt= min(t) r.append(tt) t.remove(tt)return rx = 1,3,5,2,1,0,9,7print(x)print(Sorted(x)第 6 章 面向对象程序设计 继承 节例 2 中的 Person 类生成 Student 类,填写新的函数用来设置学生专业,而后生成该类对象并显示信息。import typesclass Person(object): #基类一定继承于 object ,不然在派生类中将没法使用 super()

24、 函数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.)returnself._name = namedef setAge(self, age):if not isinstance(age,int):print(age must be integer.)returnself._age = agedef setSex(self, sex):if sex != man and sex != woman:print(sex must be man or woman)returnself._sex = sexdef show(self):print(self._name)print(self._age)print(self._sex)class Student(Person):def _init_(s

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2