《Python程序设计方案》习题与答案
《Python程序设计》课后习题参考答案
第1章一、选择题1.B2.D3.C4.C二、简答题1.(1)简单易学(2)解释性(3)可移植性(4)可扩展性(5)面向对象(6)丰富的库2.(1)Web应用开发(2)自动化运维(3).网络安全(4).网络爬虫(5).游戏开发(6).数据分析(7).人工智能三、编程题1.print('Hello, World!.')2.print('***********************************')print('\t\tHello Python World!')print('***********************************')第2章2.6习题一、选择题1.C2.D3.C4.A5.B6.D二、填空题2.26 2.type()3.274. -5.75; -6 5. False三、简答题1.(1)变量名必须由字母、数字、或者下划线(_)组成。
(2)不能使用空格、连字符、标点符号、引号等其他特殊字符。
(3)以字母或下划线开头,但不能以数字开头(4)严格区分大小写。
(5)要避免与Python关键字和函数名冲突2. 见表2.4.第3章3.4综合实验#1s1 = " keep on going never give up "s2 = s1.capitalize()print(s2)#2s3 = s2.strip()print(s3)#3print (s3.endswith('up'))#4print (s3.startswith('on'))#5print (s3.replace('e','aa'))#6print (s3.split('n'))#7print (s3.upper())#8n1 = 'Lily'print ('%s says: %s.'%(n1,s3))#9print (s3.center(40,'#'))#10print (s3.count('e'))#11print (s3.split())#12print ('/'.join(s4))#13print (' '.join(s4[::-1]))3.5 习题一、选择题1.B2.D3.C4.C二、填空题1. 'moon'2. 'shipfriend'3. 54. 'bEIjING'5. spam三、编程题1.str1 = 'I want to go to Beijing, Berli and Beijing this year. How about you?' str2 = str1.split()str2 = ' '.join(str2)print (str2)2.思路:(1).变量名的第一个字符是否为字母或下划线(2).如果是,继续判断--> 4(3).如果不是,报错(4).依次判断除了第一个字符之外的其他字符(5).判断是否为字母数字或者下划线while True:s = input('请输入字符(q退出):')if s == 'q':exit()#判断字符串第一个变量是否满足条件if s[0].isalpha() or s[0] == '_':for i in s[1:]:#判断判断除了第一个元素之外的其他元素是否满足条件if i.isalnum() or i == '_':continueelse:print('不合法')breakelse:print('合法')else:print('不合法')3.#!/usr/bin/env python#coding:utf-8s = input("输入:")s1 = s.split(" ")s2 = s1[0].upper()s3 = s1[-1].upper()print (s2.count(s3))4.s = input('input a string:\n')letters, space, digit, others = 0,0,0,0for c in s:if c.isalpha():letters += 1elif c.isspace():space += 1elif c.isdigit():digit += 1else:others += 1print ('char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others))第4章4.4 综合实验#01fav_city = []#02fav_city.append('Qinghai')fav_city.append('Chengdu')fav_city.append('Dalian')fav_city.append('Xizang')fav_city.append('Haerbin')print (fav_city)#03fav_city[0] = 'Qingdao'#04fav_city.insert(2,'Kunming')#05del fav_city[0]#06fav_city.remove('Xizang')#07fav_city.sort()#08fav_city.reverse()#09for city1 in fav_city:print (city1)#10tuple_city = tuple(fav_city)#11len(tuple_city)4.5 习题一、选择题1.D2.A3.B4.D5.C二、填空题1.[123,22, 123,22]2.x = [1,3,5,7,9]3. [11,22,33,11]4. Flase5. b= [::2]6. (6,)三、编程题#1import randomx = [random.randint(0,100) for i in range(10)]x.sort()print (x)#2.list1 = ['Hollywood', 'Mexico', 'New Delhi', 'Tokyo'] item = list1.pop(0)list1.append(item)print (list1)#3a = int(input('a:'))for b in x:if a < b:x.insert(x.index(b),a)breakelse:x.append(a)print (x)#3x.pop()x[:5] = sorted(x[:5] ,reverse = True)x[5:] = sorted(x[5:])print (x)4.#列表推导法list1 = [22,11,33,22,44,33]temp_list=[]for x in list1:if x not in temp_list:temp_list.append(x)print (temp_list) #输出结果未排序#排序方法list1 = [22,11,33,22,44,33]list2 = sorted(list1)temp_list = []i = 0while i < len(list2):if list2[i] not in temp_list:temp_list.append(list2[i])else:i += 1print (temp_list) #输出结果已排序第5章字典综合实验1.Qing_Hai = ['qinghai','xining','青',8,'810000']Si_Chuan = ['sichuan','chengdu','川',21,'610000']Gan_Su = ['gansu','lanzhou','陇',14,'730000']Ning_Xia = ['ningxia','yinchuan','宁',5,'750000']Nei_MengGu = ['neimenggu','huhehaote','内蒙古',12,'010000'] Shaan_Xi = ['shaanxi','xian','陕',10,'710000']Shan_Xi = ['shanxi','taiyuan','晋',11,'030000']He_Nan = ['henan','zhengzhou','豫',18,'450000']Shan_Dong = ['shandong','jinan','鲁',16,'250000']provinces = [Qing_Hai,Si_Chuan,Gan_Su,Ning_Xia,Nei_MengGu,Shaan_Xi,Shan_Xi,He_Nan,Shan_Dong] Yellow_River_basin = {}for province in provinces:Yellow_River_basin[province[0]] = province[1:]print(Yellow_River_basin)2.# 遍历嵌套字典的键for key in Yellow_River_basin.keys():print(key)# 遍历嵌套字典的值for value in Yellow_River_basin.values():print(value)# 遍历嵌套字典的键值对for key, value in Yellow_River_basin.items():print(key+"'s Capital is : %s "%value[0]+" For_short is : %s "%value[1]+"Area_manage is : %d个"%value[2]+"Postal_code is : %s"%value[3])3.for provinc in Yellow_River_basin.keys():if provinc == 'sichuan':Yellow_River_basin[provinc] = ['chengdu', '蜀', 21, '610000']elif provinc == 'gansu':Yellow_River_basin[provinc] = ['lanzhou', '甘', 14, '730000']elif provinc == 'shaanxi':Yellow_River_basin[provinc][1] = '秦'print(Yellow_River_basin)4qinghai = {'name':'QingHai','capital':'XiNing','for_short':'青','area_manage':8}sichuang = {'name':'SiChuan','capital':'ChengDu','for_short':'川','area_manage':21}gansu = {'name':'GanSu','capital':'LanZhou','for_short':'陇','area_manage':14}ningxia = {'name':'NingXia','capital':'YinChuan','for_short':'宁','area_manage':5}neimenggu = {'name':'Neimenggu','capital':'HuheHaote','for_short':'内蒙古','area_manage':12} shaanxi= {'name':'ShaanXi','capital':'XiAn','for_short':'陕','area_manage':10}shanxi = {'name':'ShanXi','capital':'TaiYuan','for_short':'晋','area_manage':11}henan = {'name':'HeNan','capital':'ZhengZhou','for_short':'豫','area_manage':18}shandong = {'name':'ShanDong','capital':'JiNan','for_short':'鲁','area_manage':16}basin_list = [qinghai,sichuang,gansu,ningxia,neimenggu,shaanxi,shanxi,henan,shandong] Postal_Code = ['810000','610000','730000','750000','010000','710000','030000','450000','250000']print(basin_list)5for province_num in range(len(basin_list)):basin_list[province_num]['postal_code'] = Postal_Code[province_num]print(basin_list)第5章综合实验一、选择题1.B2.C3.B4.D5.D二、简答题1.(1)字典的键(key)具有唯一性。
《Python程序设计》习题与答案-python教材答案之欧阳地创编
《Python程序设计》习题与参考答案第1章基础知识1.1 简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。
1.2 为什么说Python采用的是基于值的内存管理模式?答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)10417624>>> y = 3>>> id(y)10417624>>> y = 5>>> id(y)10417600>>> id(x)104176241.3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为●import 模块名 [as 别名]●from 模块名 import 对象名[ as 别名]●from math import *1.4 使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1.5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
《Python程序设计方案》习题与答案
《Python程序设计方案》习题与答案Python程序设计方案-------------------------------------------引言:Python是一种广泛使用的编程语言,具备简洁明了的语法和强大的功能,因此在软件开发和数据分析等领域备受青睐。
本文将介绍一些Python程序设计的常见问题,并提供相应的习题与答案。
一、条件判断与循环Python中的条件判断和循环是编写程序的基本组成部分。
以下是一些与此相关的习题及其解答:1. 请编写一个Python程序,判断某个整数是否为奇数。
```pythonnum = int(input("请输入一个整数:"))if num % 2 == 0:print("该数为偶数")else:print("该数为奇数")```2. 编写一个Python程序,求解从1到100所有偶数的和。
```pythonsum = 0for i in range(1, 101):if i % 2 == 0:sum += iprint("1到100之间所有偶数的和为:", sum)```二、函数与模块函数和模块是Python程序设计中的重要概念,能够提高代码的复用性和可读性。
以下是与此相关的习题及其解答:1. 编写一个Python函数,判断一个字符串是否为回文。
即正序和倒序都相同的字符串。
```pythondef is_palindrome(s):return s == s[::-1]string = input("请输入一个字符串:")if is_palindrome(string):print("该字符串是回文")else:print("该字符串不是回文")```2. 使用Python的math模块,编写一个函数,计算圆的面积。
《Python程序设计》习题与答案python教材答案
《Python程序设计》习题与答案python教材答案《Python程序设计》习题与答案第一章:Python基础题目1:计算器程序设计答案:代码可以如下所示:```pythondef add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:return "Error: Division by zero is not allowed"return a / b```题目2:变量和数据类型答案:Python中的常见数据类型有整型(int)、浮点型(float)、字符串型(str)、布尔型(bool)等。
题目3:条件语句答案:条件语句用于根据不同的条件执行不同的代码块。
常见的条件语句有if语句、if-else语句和if-elif-else语句。
题目4:循环语句答案:循环语句用于多次执行相同或类似的代码块。
常见的循环语句有for循环和while循环。
第二章:函数和模块题目1:函数的定义和调用答案:函数是一段可重复使用的代码块,用于完成特定的任务。
函数的定义可以通过def关键字来实现,而函数的调用则通过函数名和参数完成。
题目2:内置函数答案:Python提供了丰富的内置函数,如print()、len()、input()等。
这些内置函数可以直接使用,无需额外定义。
题目3:模块的导入和使用答案:Python模块是一组相关的函数、类和变量的集合,用于组织、重用和扩展代码。
模块的导入可以使用import语句,然后通过模块名和函数名来调用模块中的内容。
第三章:文件操作题目1:文件的打开和关闭答案:文件操作前需要通过open()函数打开文件,在完成操作后需要使用close()函数关闭文件。
例如:```pythonfile = open("test.txt", "w")# 执行文件操作file.close()```题目2:读取文件内容答案:使用Python的read()函数可以读取整个文件的内容,或者使用readline()函数读取一行内容。
39863-《Python语言程序设计》-参考答案[4页]
Python语言程序设计习题答案·2·《Python语言程序设计》习题答案项目1一、选择题1. B2. B3. D4. C5. D二、判断题1. 对2. 对3. 错4. 对5. 错6. 错7. 对8. 对9. 错项目2一、选择题1. B2. A3. B4. A5. D6. A7. B8. C二、判断题1. 错2. 对3. 错4. 错5. 错6. 对7. 对8. 错9. 错10. 对11. 对12. 对项目3一、选择题1. B2. D3. A4. B5. D6. B7. A二、判断题1. 错2. 错3. 对4. 对5. 错6. 对7. 对项目4一、选择题1. A2. C3. C4. C5. A二、判断题1. 错2. 对3. 错4. 对5. 对6. 错7. 错8. 对9. 错10. 错11. 错12. 对13. 对14. 对项目5一、选择题1. A2. C3. C4. A二、判断题1. 错2. 对3. 错4. 对5. 对6. 错7. 错8. 对9. 错10. 错11.错12. 对13. 对14. 对《Python语言程序设计》习题答案·3·项目6一、选择题1. A2. C3. A4. C5. B6. B7. A二、判断题1. 错2. 错3. 对4. 对5. 错6. 错7. 对项目7一、选择题1. D2. B3. A4. C二、判断题1. 对2. 错3. 对4. 对5. 错项目8一、选择题1. D2. B3. C4. D5. A6. B7. A8. C二、判断题1. 对2. 错3. 错4. 对5. 错6. 对7. 错8. 对项目9一、选择题1. A2. B3. C4. D5. B6. D7. C8. C9. A 10. D 11. B二、判断题1. 对2. 错3. 错4. 对5. 错6. 对7. 错8. 错9. 对10. 错11. 错项目10一、选择题1. D2. B3. C4. D5. A6. A·4·《Python语言程序设计》习题答案二、判断题1. 对2. 对3. 错4. 对5. 错6. 错7. 对项目11一、选择题1. A2. B3. B4. D5. C6. D二、判断题1. 错2. 对3. 错4. 对5. 错6. 错。
《Python程序设计》练习题题库及答案解析
《Python程序设计》练习题题库及答案解析一、判断题1、Python 3.x和Python 2.x唯一的区别就是:print在Python 2.x中是输出语句,而在Python 3.x中是输出函数。
(错)2、继承自threading.Thread类的派生类中不能有普通的成员方法。
(错)3、扩展库os中的方法remove()可以删除带有只读属性的文件。
(错)4、使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。
(错)5、使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。
(错)6、Python采用的是基于值得自动内存管理方式。
(对)7、在任何时刻相同的值在内存中都只保留一份(错)8、Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。
(对)9、在Python中可以使用if作为变量名。
(错)10、在Python 3.x中可以使用中文作为变量名。
(对)11、Python变量名必须以字母或下划线开头,并且区分字母大小写。
(对)12、加法运算符可以用来连接字符串并生成新字符串。
(对)13、9999**9999这样的命令在Python中无法运行。
(错)14、3+4j不是合法的Python表达式。
(错)15、0o12f是合法的八进制数字。
(错)16、Python 2.x和Python 3.x中input()函数的返回值都是字符串。
(错)17、pip命令也支持扩展名为.whl的文件直接安装Python扩展库。
(对)18、只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。
(错)19、在Python中0xad是合法的十六进制数字表示形式。
(对)20、3+4j 是合法Python数字类型。
(对)21、在Python中0oa1是合法的八进制数字表示形式。
(错)22、Python使用缩进来体现代码之间的逻辑关系。
《Python程序设计方案》习题与答案
《Python程序设计》习题与参考答案第1章基础知识1.1 简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x 还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。
1.2 为什么说Python采用的是基于值的内存管理模式?答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)10417624>>> y = 3>>> id(y)10417624>>> y = 5>>> id(y)10417600>>> id(x)104176241.3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名 [as 别名]●from 模块名 import 对象名[ as 别名]●from math import *1.4 使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1.5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
Python程序设计答案和解析
一单选题 (共10题,每小题2分,总分值20)1. 答案:D2. 答案:C3. 答案:B4. 答案:D5. 答案:D6. 答案:B7. 答案:D8. 答案:A9. 答案:A10. 答案:B二多选题 (共5题,每小题3分,总分值15)11. 答案:A,B,C12. 答案:A,B13. 答案:A,B14. 答案:A,B,C15. 答案:A,B,C,D三判断 (共5题,每小题2分,总分值10)16. 答案:F17. 答案:T18. 答案:T19. 答案:T20. 答案:F四其他题 (共5题,每小题5分,总分值25)21. 答案:列表(list)是最重要的Python内置对象之一,是包含若干元素的有序连续内存空间。
在形式上,列表的所有元素放在一对方括号[]中,相邻元素之间使用逗号分隔。
在Python中,同一个列表中元素的数据类型可以各不相同,可以同时包含整数、实数、字符串等基本类型的元素,也可以包含列表、元组、字典、集合、函数以及其他任意对象。
如果只有一对方括号而没有任何元素则表示空列表。
22. 答案:集合(set)属于Python无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。
集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。
23. 答案:修饰器(decorator)是函数嵌套定义的另一个重要应用。
修饰器本质上也是一个函数,只不过这个函数接收其他函数作为参数并对其进行一定的改造之后使用新函数替换原来的函数。
Python面向对象程序设计中的静态方法、类方法、属性等也都是通过修饰器实现的。
24. 答案:私有成员在类的外部不能直接访问,一般是在类的内部进行访问和操作,或者在类的外部通过调用对象的公有成员方法来访问,而公有成员是可以公开使用的,既可以在类的内部进行访问,也可以在外部程序中使用。
Python程序设计课后习题答案
习题1一、选择题1.Python语言属于()。
CA.机器语言B.汇编语言C.高级语言D.科学计算语言2.下列选项中,不属于Python特点的是()。
BA.面向对象B.运行效率高C.可读性好D.开源3.Python程序文件的扩展名是()。
DA..python B..pyt C..pt D..py4.以下叙述中正确的是()。
CA.Python3.x与Python2.x兼容B.Python语句只能以程序方式执行C.Python是解释型语言D.Python语言出现得晚,具有其他高级语言的一切优点5.下列选项中合法的标识符是()。
AA._7a_b B.break C._a$b D.7ab 6.下列标识符中合法的是()。
BA.i'm B._C.3Q D.for 7.Python不支持的数据类型有()。
AA.char B.int C.float D.list8.关于Python中的复数,下列说法错误的是()。
BA.表示复数的语法形式是a+bj B.实部和虚部都必须是浮点数C.虚部必须加后缀j,且必须是小写D.函数abs()可以求复数的模9.函数type(1+0xf*3.14)的返回结果是()。
DA.<class'int'>B.<class'long'>C.<class'str'>D.<class'float'>10.字符串s='a\nb\tc',则len(s)的值是()。
CA.7B.6C.5D.411.Python语句print(0xA+0xB)的输出结果是()。
DA.0xA+0xB B.A+BC.0xA0xB D.2112.下列属于math库中的数学函数的是()。
CA.time()B.round()C.sqrt()D.random() 13.Python表达式中,可以使用()控制运算的优先顺序。
Python程序设计课后习题答案
Python程序设计课后习题答案通过Python程序设计课后习题的答案,我将为您提供一份详细的文章。
如下所示:Python程序设计课后习题答案Python程序设计是一门广泛应用于计算机科学领域的编程语言。
在学习这门课程时,我们需要通过解答习题来加深对于Python编程的理解。
本文将对一些Python程序设计课后习题进行答案解析,并通过实例代码来帮助读者更好地理解。
一、基础概念和语法1. 编写一个程序,实现计算两个数之和的功能。
```pythonnum1 = float(input("请输入第一个数:"))num2 = float(input("请输入第二个数:"))# 计算和sum_result = num1 + num2print("两个数的和为:", sum_result)```2. 编写一个程序,实现计算一个数的阶乘。
```pythonnum = int(input("请输入一个正整数:"))factorial = 1# 计算阶乘if num < 0:print("输入的数字必须为正整数!")elif num == 0:print("0的阶乘为1")else:for i in range(1, num + 1):factorial *= iprint(num, "的阶乘为:", factorial)```二、数据结构与算法1. 编写一个程序,实现对列表中元素求和的功能。
```pythonnumbers = [1, 2, 3, 4, 5]sum_result = sum(numbers)print("列表元素的和为:", sum_result)```2. 编写一个程序,实现冒泡排序算法对列表进行排序。
```pythondef bubble_sort(arr):n = len(arr)for i in range(n - 1):for j in range(n - i - 1):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arrnumbers = [4, 2, 1, 5, 3]sorted_numbers = bubble_sort(numbers)print("排序后的列表:", sorted_numbers)```三、文件操作1. 编写一个程序,实现读取文本文件内容并计算文件中单词的个数。
《Python程序设计》习题与答案-python教材答案
《Python步调安排》习题与参照问案之阳早格格创做第1章前提知识1.1 简朴证明怎么样采用精确的Python版本.问:正在采用Python的时间,一定要先思量收会自己教习Python的手段是什么,挨算搞哪圆里的启垦,有哪些扩展库可用,那些扩展库最下支援哪个版本的Python,是Python 2.x仍旧Python 3.x,最下支援到Python 2.7.6仍旧Python 2.7.9.那些问题皆决定以去,再搞出自己的采用,那样才搞事半功倍,而不至于把洪量时间浪费正在Python的反复拆置战卸载上.共时还该当注意,当革新的Python版本推出之后,不要慢于革新,而是该当等决定自己所必须使用的扩展库也推出了较新版本之后再举止革新.纵然如许,Python 3到底是局势所趋,如果您姑且还出料到要搞什么止业范围的应用启垦,大概者只是是为了测验考查一种新的、佳玩的谈话,那么请当机立断天采用Python 3.x系列的最下版本(姑且是Python 3.4.3).1.2 为什么道Python采与的是鉴于值的内存管制模式?问:Python采与的是鉴于值的内存管制办法,如果为分歧变量赋值相共值,则正在内存中惟有一份该值,多个变量指背共一齐内存天面,比圆底下的代码.>>> x = 3>>> id(x)10417624>>> y = 3>>> id(y)10417624>>> y = 5>>> id(y)10417600>>> id(x)104176241.3 正在Python中导进模块中的对付象有哪几种办法?问:时常使用的有三种办法,分别为●import 模块名 [as 别号]●from 模块名 import 对付象名[ as 别号]●from math import *1.4 使用pip下令拆置numpy、scipy模块.问:正在下令提示符环境下真止底下的下令:pip install numpypip install scipy1.5 编写步调,用户输进一个三位以上的整数,输出其百位以上的数字.比圆用户输进1234,则步调输出12.(提示:使用整除运算.)问:1)Python 3.4.2代码: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.')2)Python 2.7.8代码: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数据结构2.1 为什么应尽管从列表的尾部举止元素的减少与简略支配?问:当列表减少大概简略元素时,列表对付象自动举止内存扩展大概中断,进而包管元素之间不漏洞,但是那波及到列表元素的移动,效用较矮,应尽管从列表尾部举止元素的减少与简略支配以普及处理速度.2.2 编写步调,死成包罗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 v, ':', x.count(v)2.3 编写步调,用户输进一个列表战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(x[start:end])x = input('Please input a list:')start, end = input('Please input the start position and the end position:')print x[start:end]2.4 安排一个字典,并编写步调,用户输进真质动做键,而后输出字典中对付应的值,如果用户输进的键不存留,则输出“您输进的键不存留!”问:d = {1:'a', 2:'b', 3:'c', 4:'d'}v = input('Please input a key:')v = eval(v)print(d.get(v,'您输进的的键不存留'))d = {1:'a', 2:'b', 3:'c', 4:'d'}v = input('Please input a key:')print(d.get(v,'您输进的的键不存留'))2.5 编写步调,死成包罗20个随机数的列表,而后将前10个元素降序排列,后10个元素落序排列,并输出截止.问:import randomx = [random.randint(0,100) for i in range(20)]print(x)y = x[0:10]y.sort()x[0:10] = yy = x[10:20]y.sort(reverse=True)x[10:20] = yprint(x)import randomx = [random.randint(0,100) for i in range(20)]print xy = x[0:10]y.sort()x[0:10] = yy = x[10:20]y.sort(reverse=True)x[10:20] = yprint x2.6 正在Python中,字典战集中皆是用一对付大括号动做定界符,字典的每个元素有二部分组成,即键战值,其中键不允许沉复.2.7 假设有列表a = ['name','age','sex']战b = ['Dong',38,'Male'],请使用一个语句将那二个列表的真质变换为字典,而且以列表a中的元素为键,以列表b中的元素为值,那个语句不妨写为 c = dict(zip(a,b)).2.8 假设有一个列表a,现央供从列表a中每3个元素与1个,而且将与到的元素组成新的列表b,不妨使用语句 b = a[::3].2.9 使用列表推导式死成包罗10个数字5的列表,语句不妨写为[5 for i in range(10)].2.10 不不妨(不妨、不不妨)使用del下令去简略元组中的部分元素.第3章采用结构与循环结构3.1 收会逻辑运算符“or”的短路供值个性.问:假设有表白式“表白式1 or 表白式2”,如果表白式1的值等价于True,那么无论表白式2的值是什么,所有表白式的值经常等价于True.果此,不需要再估计表白式2的值.3.2 编写步调,运止后用户输进4位整数动做年份,推断其是可为闰年.如果年份能被400整除,则为闰年;如果年份能被4整除但是不克不迭被100整除也为闰年.问:x = input('Please 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 'Yes'else:print 'No'3.3 编写步调,死成一个包罗50个随机整数的列表,而后简略其中所有奇数.(提示:从后背前删.)问:import randomx = [random.randint(0,100) for i in range(50)]print(x)i = len(x)-1while i>=0:if x[i]%2==1:del x[i]i-=1print(x)把上头的代码中第三止战末尾一止改为print x即可.34 编写步调,死成一个包罗20个随机整数的列表,而后对付其中奇数下目标元素举止落序排列,奇数下目标元素稳定.(提示:使用切片.)问:import randomx = [random.randint(0,100) for i in range(20)]print(x)y = x[::2]y.sort(reverse=True)x[::2] = yprint(x)把上头的代码中第三止战末尾一止改为print x即可.35 编写步调,用户从键盘输进小于1000的整数,对付其举止果式收会.比圆,10=2×5,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 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))3.6 编写步调,起码使用2种分歧的要收估计100以内所有奇数的战.问:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print语句即可.x = [i for i in range(1,100) if i%2==1]print(sum(x))print(sum(range(1,100)[::2]))3.7 编写步调,真止分段函数估计,如下表所示.问:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print语句即可.x = input('Please input x:')x = eval(x)if x<0 or x>=20:print(0)elif 0<=x<5:print(x)elif 5<=x<10:print(3*x-5)elif 10<=x<20:print(0.5*x-2)第4章字符串与正则表白式4.1 假设有一段英文,其中有单独的字母“I”误写为“i”,请编写步调举止纠正.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.1)不使用正则表白式x = "i am a teacher,i am man, and i am 38 years old.I am not a businessman." x = x.WordStr('i ','I ')x = x.WordStr(' 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'+x[result.end(0)-1:]else:x = x[:result.start(0)]+'I'+x[result.end(0)-1:]else:breakprint(x)4.2 假设有一段英文,其中有单词汇中间的字母“i”误写为“I”,请编写步调举止纠正.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.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'+x[result.end(0)-1:]else:x = x[:result.start(0)]+'i'+x[result.end(0)-1:]else:breakprint(x)4.3 有一段英文文本,其中有单词汇连绝沉复了2次,编写步调查看沉复的单词汇并只死存一个.比圆文本真质为“This is is a desk.”,步调输出为“This is a desk.”问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.1)要收一import rex = 'This is a a desk.'pattern = pile(r'\b(\w+)(\s+\1){1,}\b')matchResult = pattern.search(x)x = pattern.sub(matchResult.group(1),x)print(x)2)要收二x = 'This is a a desk.'pattern = pile(r'(?P<f>\b\w+\b)\s(?P=f)')matchResult = pattern.search(x)x = x.WordStr(matchResult.group(0),matchResult.group(1))4.4 简朴阐明Python的字符串驻留体制.问:Python支援字符串驻留体制,即:对付于短字符串,将其赋值给多个分歧的对付象时,内存中惟有一个副本,多个对付象共享该副本.那一面不适用于少字符串,即少字符串不按照驻留体制,底下的代码演示了短字符串战少字符串正在那圆里的辨别.>>> a = '1234'>>> b = '1234'>>> id(a) == id(b)True>>> a = '1234'*50>>> b = '1234'*50>>> id(a) == id(b)False4.5 编写步调,用户输进一段英文,而后输出那段英文中所有少度为3个字母的单词汇.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.import rex = input('Please input a string:')pattern = pile(r'\b[a-zA-Z]{3}\b')print(pattern.findall(x))第5章函数安排与使用5.1 运止5.3.1小节末尾的示例代码,查看截止并收会本果.问:本果是对付于函数的默认值参数只会被处理一次,下次再调用函数而且不为默认值参数赋值时会继启使用上一次的截止,对付于列表那样的结构,如果调用函数时为默认值参数的列表拔出大概简略了元素,将会得到死存,进而做用下一次调用.5.2 编写函数,推断一个整数是可为素数,并编写主步调调用该函数.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.import mathdef IsPrime(v):n = int(math.sqrt(v)+1)for i in range(2,n):if v%i==0:return 'No'else:return 'Yes'print(IsPrime(37))print(IsPrime(60))print(IsPrime(113))5.3 编写函数,交支一个字符串,分别统计大写字母、小写字母、数字、其余字符的个数,并以元组的形式返回截止.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.def demo(v):capital = little = digit = other =0for i in v:if 'A'<=i<='Z':capital+=1elif 'a'<=i<='z':little+=1elif '0'<=i<='9':digit+=1else:other+=1return (capital,little,digit,other)x = 'capital = little = digit = other =0'print(demo(x))5.4 正在Python步调中,局部变量会隐躲共名的齐部变量吗?请编写代码举止考证.问案:会.>>> def demo():a=3print a>>> a=5>>> demo()3>>> a55.5 编写函数,不妨交支任性多个整数并输出其中的最大值战所有整数之战.问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.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)5.6 编写函数,模拟内置函数sum().问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.def Sum(v):s = 0for i in v:s += ireturn sx = [1,2,3,4,5]print(Sum(x))x = (1,2,3,4,5)print(Sum(x))5.7 编写函数,模拟内置函数sorted().问:那里给出Python 3.4.2代码,如果使用Python 2.7.8的话只需要建改其中的print()函数为print语句即可.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,7]print(x)print(Sorted(x))第6章里背对付象步调安排6.1 继启6.5节例2中的Person类死成Student类,挖写新的函数用去树立教死博业,而后死成该类对付象并隐现疑息.import typesclass 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.')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__(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.')returnself.__major = majordef 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 安排一个三维背量类,并真止背量的加法、减法以及背量与标量的乘法战除法运算.class Vecter3:def __init__(self, x=0, y=0, z=0):self.X = xself.Y = yself.Z = zdef __add__(self, n):r = Vecter3()return rdef __sub__(self, n):r = Vecter3()return rdef __mul__(self, n):r = Vecter3()r.X = self.X * nr.Y = self.Y * nr.Z = self.Z * nreturn rdef __truediv__(self, n):r = Vecter3()r.X = self.X / nr.Y = self.Y / nr.Z = self.Z / nreturn rdef __floordiv__(self, n):r = Vecter3()r.X = self.X // nr.Y = self.Y // nr.Z = self.Z // nreturn rdef show(self):print((self.X,self.Y,self.Z))v1 = Vecter3(1,2,3)v2 = Vecter3(4,5,6)v3 = v1+v2v3.show()v4 = v1-v2v4.show()v5 = v1*3v5.show()v6 = v1/2v6.show()6.3 里背对付象步调安排的三果素分别为启拆、继启战多态 .6.4 简朴阐明Python中以下划线启头的变量名个性.问:正在Python中,以下划线启头的变量名有特殊的含意,更加是正在类的定义中.用下划线动做变量前缀战后缀去表示类的特殊成员:●_xxx:那样的对付象喊搞呵护变量,不克不迭用'from moduleimport *'导进,惟有类对付象战子类对付象能考察那些变量;●__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 编写步调,将包罗教死结果的字典死存为二进制文献,而后再读与真质并隐现.import pickled = {'弛三':98,'李四':90,'王五':100}print(d)f = open('score.dat','wb')pickle.dump(1,f)pickle.dump(d,f)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'。
《Python程序设计》期末复习试题库及答案
《Python程序设计》期末复习试题库及答案一、选择题(每题3分,共30分)1. 以下哪个选项是Python中的正确注释方式?A. //这是单行注释B. /这是多行注释/C. #这是单行注释D. ''这是多行注释'答案:C2. Python中,下面哪个选项可以用来定义一个整数变量?A. int x = 10B. x = int(10)C. x = 10LD. x = float(10)答案:B3. 在Python中,以下哪个函数可以用来判断一个字符串是否以指定后缀结尾?A. str.endswith(suffix)B. str.endswith(prefix)C. str.startswith(suffix)D. str.startswith(prefix)答案:A4. 以下哪个选项是Python中定义列表的正确方式?A. list = [1, 2, 3]B. list = {1, 2, 3}C. list = (1, 2, 3)D. list = "1, 2, 3"答案:A5. 在Python中,以下哪个选项表示无限循环?A. for i in range(10):print(i)B. while True:print("Hello, World!")C. while i < 10:print(i)i += 1D. for i in range(-10, 10):答案:B6. 以下哪个选项是Python中定义字典的正确方式?A. dict = {"key1": "value1", "key2":"value2"}B. dict = {"key1": "value1", "key2":"value2", }C. dict = {"key1": "value1", "key2":"value2":}D. dict = ("key1": "value1", "key2":"value2")答案:A7. 在Python中,以下哪个函数可以用来打开一个文件?A. open(file, "w")B. open(file, "r")C. open(file, "w+", "r+")D. open(file, "r+")答案:B8. 以下哪个选项表示在Python中创建一个类?A. class MyClass:B. def MyClass():C. class MyClass():D. def class MyClass:答案:A9. 在Python中,以下哪个选项是定义私有方法的正确方式?A. def _myPrivateMethod():B. def __myPrivateMethod():C. def myPrivateMethod():D. def _myPrivateMethod(self):答案:B10. 以下哪个选项表示在Python中导入模块的正确方式?A. import mathB. include mathC. require mathD. import from math答案:A二、填空题(每题3分,共30分)1. 在Python中,定义函数使用________关键字。
大学《Python程序设计》试题及答案
大学《Python程序设计》试题及答案一、填空题1、已知x = list(range(20)),那么执行语句x[:18] = []后列表x的值为______________。
([18,19])2、已知x = [1, 2, 3],那么连续执行y = x[:]和y.append(4)这两条语句之后,x的值为____________________。
([1, 2, 3])3、已知x = [1, 2, 3],那么连续执行y = x和y.append(4)这两条语句之后,x的值为____________________。
([1, 2, 3, 4])4、已知x = [1, 2, 3],那么连续执行y = [1, 2, 3]和y.append(4)这两条语句之后,x的值为____________________。
([1, 2, 3])5、已知x = [[]] * 3,那么执行语句x[0].append(1)之后,x的值为____________________。
([[1], [1], [1]])6、已知x = [[] for i in range(3)],那么执行语句x[0].append(1)之后,x的值为_________________。
([[1], [], []])7、已知x = ([1], [2]),那么执行语句x[0].append(3)后x的值为________________。
(([1, 3],[2]))8、已知x = {1:1, 2:2},那么执行语句x.update({2:3, 3:3})之后,表达式sorted(x.items())的值为____________________。
([(1, 1), (2, 3), (3, 3)])9、已知x = {1:1, 2:2},那么执行语句x[3] = 3之后,表达式sorted(x.items())的值为____________________。
大学《Python程序设计》试题及答案
大学《Python程序设计》试题及答案大学《Python程序设计》试题及答案一、选择题1、在Python中,以下哪个选项可以正确表示小于等于操作符? A) <=B) <* C) .≤ D) 以上都不是答案:A) <=2、下列哪个模块可用于绘制图形? A) math B) plot C) canvas D) none of the above 答案:C) canvas3、在Python中,如何将字符串转换为整数? A) str() B) int() C) float() D) 以上都不是答案:B) int()4、若要打印出所有的素数,以下哪个循环结构可以实现? A) whileB) for C) do-while D) switch-case 答案:B) for5、以下哪个选项可以用于导入模块? A) import math as m B) include math as m C) #include <math.h> D) #import <math.h> 答案:A) import math as m二、填空题1、Python中的注释符号是_____。
答案:#2、在Python中,所有变量都必须具有_____。
答案:类型(types)3、Python中的逻辑运算符用于执行_____运算。
答案:逻辑(logical)4、以下哪个函数可以用于将字符串转换为浮点数? A) str() B) int() C) float() D) none of the above 答案:C) float()5、以下哪个循环结构可以用于打印出所有的偶数? A) for i in range(0, 10): print(i2) B) for i in range(0, 10): if i % 2 == 0: print(i2) C) for i in range(0, 10): if i % 2 != 0: print(i2) D) none of the above 答案:B) for i in range(0, 10): if i % 2 == 0: print(i2)三、编程题编写一个Python程序,打印出所有的水仙花数(Narcissistic Number)。
实用文库汇编之《Python程序设计》习题与答案-python教材答案
实用文库汇编之《Python程序设计》习题与参考答案第1章基础知识1.1 简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。
1.2 为什么说Python采用的是基于值的内存管理模式?答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)10417624>>> y = 3>>> id(y)10417624>>> y = 5>>> id(y)10417600>>> id(x)104176241.3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名[as 别名]●from 模块名import 对象名[ as 别名]●from math import *1.4 使用pip命令安装numpy、scipy模块。
(完整)《Python程序设计》题库及答案
(完整)《Python程序设计》题库及答案一、选择题1. 以下哪个选项是Python中的正确注释方式?A. //这是单行注释B. /这是多行注释/C. #这是单行注释D. ''这是多行注释''答案:C2. Python中,下列哪个变量名是合法的?A. 123varB. var_123C. var 123D. 1var答案:B3. 在Python中,下列哪个操作符用于判断两个变量是否相等?A. ==B. =C. ===D. !=答案:A4. Python中,下列哪个函数用于将字符串转换为整数?A. int()B. str()C. float()D. bool()答案:A5. Python中,下列哪个选项表示列表?A. [1, 2, 3]B. {1, 2, 3}C. (1, 2, 3)D. "123"答案:A二、填空题6. 在Python中,print()函数用于输出信息。
以下代码的输出结果是______。
```pythonprint("Hello, World!")print(1 + 2)```答案:Hello, World! 37. 以下代码的输出结果是______。
```pythonfor i in range(1, 5):print(i i)```答案:1 4 9 168. 以下代码的输出结果是______。
```pythona = [1, 2, 3]b = a.copy()a.append(4)print(b)```答案:[1, 2, 3]9. 以下代码的输出结果是______。
```pythondef my_function(a, b):return a + bprint(my_function(2, 3))```答案:510. 以下代码的输出结果是______。
```pythona = 10b = 20a, b = b, aprint(a, b)```答案:20 10三、编程题11. 编写一个Python程序,实现以下功能:- 输入一个整数n,计算并输出1到n(包括n)的所有整数之和。
《Python程序设计方案》题库
《Python程序设计》题库一、填空题第一章基础知识1、Python安装扩展库常用的是_______工具。
(pip)2、Python标准库math中用来计算平方根的函数是__________。
(sqrt)3、Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。
(py、pyw)4、Python源代码程序编译后的文件扩展名为_________。
(pyc)5、使用pip工具升级科学计算扩展库numpy的完整命令是_________________。
(pip install--upgrade numpy)6、使用pip工具查看当前已安装的Python扩展库的完整命令是_____________。
(pip list)7、在IDLE交互模式中浏览上一条语句的快捷键是__________。
(Alt+P)8、在Python中__________表示空类型。
(None)9、列表、元组、字符串是Python的_________(有序?无序)序列。
(有序)10、查看变量类型的Python内置函数是________________。
(type())11、查看变量内存地址的Python内置函数是_________________。
(id())12、以3为实部4为虚部,Python复数的表达形式为___________或________。
(3+4j、3+4J)13、Python运算符中用来计算整商的是_________。
(//)14、Python运算符中用来计算集合并集的是_______。
(|)15、使用运算符测试集合包含集合A是否为集合B的真子集的表达式可以写作_______。
(A<B)16、______________命令既可以删除列表中的一个元素,也可以删除整个列表。
(del)17、表达式int('123', 16) 的值为_________。
(291)18、表达式int('123', 8) 的值为_________。
Python程序设计习题答案
习题答案第1章一、选择题二、填空题1.对象2.可移植性3.quit()、Ctrl+q4. F55. #第2章一、选择题二、填空题1. 2**32-12. 43. 0.54. 4 35. π的值为3.1416 第3章一、选择题二、填空题1. 顺序结构分支结构循环结构2. for while3. break continue4. 95. Helloorld6. 2 1 07. 2,3,5,7,8. 153第4章一、选择题二、填空题1.变量的作用域、全局变量、局部变量2.关键字3.不定长4.175. 36. 6第5章一、选择题二、填空题1.所有键2.[9,10]3.[6,7,8]4.键、值、字典项5.{'01': 'python', '02': 'C++', '03': 'java', '1': 'py'}6.len()7.逗号、冒号8.get()第6章一、选择题二、填空题1. a2. 文本文件二进制文件3. f.seek( 0 )4. 一行5. ['红豆生南国,\n', '春来发几枝。
\n', '愿君多采撷,\n', '此物最相思。
\n']6. rb第7章一、选择题二、填空题1.科学计算np2.randn() rand() uniform()3.- -. -- : solid dashdot dashed dotted4.plot() 散点5.stopwords mask三、问答题1.答:创建ndarray类型的数组的方法很多,有5种常规机制,如下:a、从其他Python结构(例如列表,元组)转换;b、numpy原生数组的创建(例如arange、ones、zeros等);c、从磁盘读取数组,无论是标准格式还是自定义格式(例如loadtxt、fromfile等);d、通过使用字符串或缓冲区从原始字节创建数组(例如frombuffer、fromstring等);e、使用特殊库函数(例如random)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Python程序设计》习题与参考答案第1章基础知识1.1 简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 2.x 还是Python 3.x,最高支持到Python 2.7.6还是Python 2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.4.3)。
1.2 为什么说Python采用的是基于值的内存管理模式?答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)10417624>>> y = 3>>> id(y)10417624>>> y = 5>>> id(y)10417600>>> id(x)104176241.3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名 [as 别名]●from 模块名 import 对象名[ as 别名]●from math import *1.4 使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1.5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:使用整除运算。
)答:1)Python 3.4.2代码: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.')2)Python 2.7.8代码: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数据结构2.1 为什么应尽量从列表的尾部进行元素的增加与删除操作?答:当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。
2.2 编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。
(提示:使用集合。
)答:1)Python 3.4.2代码import randomx = [random.randint(0,100) for i in range(1000)]d = set(x)for v in d:print(v, ':', x.count(v))2)Python 2.7.8代码import randomx = [random.randint(0,100) for i in range(1000)]d = set(x)for v in d:print v, ':', x.count(v)2.3 编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。
例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
答:1)Python 3.4.2代码x = input('Please input a list:')x = eval(x)start, end = eval(input('Please input the start position and the end position:'))print(x[start:end])2)Python 2.7.8代码x = input('Please input a list:')start, end = input('Please input the start position and the end position:')print x[start:end]2.4 设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!”答:1)Python 3.4.2代码d = {1:'a', 2:'b', 3:'c', 4:'d'}v = input('Please input a key:')v = eval(v)print(d.get(v,'您输入的的键不存在'))2)Python 2.7.8代码d = {1:'a', 2:'b', 3:'c', 4:'d'}v = input('Please input a key:')print(d.get(v,'您输入的的键不存在'))2.5 编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
答:1)Python 3.4.2代码import randomx = [random.randint(0,100) for i in range(20)]print(x)y = x[0:10]y.sort()x[0:10] = yy = x[10:20]y.sort(reverse=True)x[10:20] = yprint(x)2)Python 2.7.8代码import randomx = [random.randint(0,100) for i in range(20)]print xy = x[0:10]y.sort()x[0:10] = yy = x[10:20]y.sort(reverse=True)x[10:20] = yprint x2.6 在Python中,字典和集合都是用一对大括号作为定界符,字典的每个元素有两部分组成,即键和值,其中键不允许重复。
2.7 假设有列表a = ['name','age','sex']和b = ['Dong',38,'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为键,以列表b中的元素为值,这个语句可以写为 c = dict(zip(a,b))。
2.8 假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句 b = a[::3]。
2.9 使用列表推导式生成包含10个数字5的列表,语句可以写为[5 for i in range(10)]。
2.10 不可以(可以、不可以)使用del命令来删除元组中的部分元素。
第3章选择结构与循环结构3.1 分析逻辑运算符“or”的短路求值特性。
答:假设有表达式“表达式1 or 表达式2”,如果表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是等价于True。
因此,不需要再计算表达式2的值。
3.2 编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。
如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
答:1)Python 3.4.2代码x = input('Please 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')2)Python 2.7.8代码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 'Yes'else:print 'No'3.3 编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。
(提示:从后向前删。
)答:1)Python 3.4.2代码import randomx = [random.randint(0,100) for i in range(50)]print(x)i = len(x)-1while i>=0:if x[i]%2==1:del x[i]i-=1print(x)2)Python 2.7.8代码把上面的代码中第三行和最后一行改为print x即可。
34 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。
(提示:使用切片。
)答:1)Python 3.4.2代码import randomx = [random.randint(0,100) for i in range(20)]print(x)y = x[::2]y.sort(reverse=True)x[::2] = yprint(x)2)Python 2.7.8代码把上面的代码中第三行和最后一行改为print x即可。