Python程序设计习题与答案
Python语言程序设计(工作手册式) 作业习题及答案 第四章

第四章一、单选题(共16题,80分)1、若想往列表里添加一个元素,需要用到以下哪个函数?A、appendB、de1C、countD^pop正确答案:A2、PythOn元组包含了以下内置函数。
A、IenOB、max()C、min()D、tup1e()E、以上都是正确答案:E3、PythO11列表不包含了以下哪个内置函数A、IenOB、max()C、min()D、tup1e()E、1ist()正确答案:D4、更新列表时可以使用以下哪几种方法来添加列表项()。
A、append(),de1(),pop()B、index(),c1ear(),extend()C、appendO,extendO,insertOD、removeO,de1O,popO正确答案:C5、输入1ist.extcnd可以到达什么效果?()A、在列表末尾添加新的对象appendB、统计某个元素在列表中出现的次数CoUnt4C、在列表末尾一次性追加另一个序列中的多个值D、从列表中找出某个值第一个匹配项的索引位置index正确答案:C6、若想达到输出效果为[1,2,3,4,5,6]的目的,需要输入哪个函数?()A、[1,2,31+(4,5,6)B、+”,3]C、(1,2,3)+(4,5,6)D、[1,〃+〃,2,〃+〃,3]正确答案:B7、执行下面操作后,1isi2的值是:()A、St1=[4,5,6]B、st2=1ist1C、st1[2]=3D、[4,5,6]E、[4,3,6]F、[4,5,3]G、Λ,B,C都不正确正确答案:C8、下列哪个函数可以计算字典元素个数____A、cmpB、IenC、StrD、type正确答案:B9、下列哪个函数可以将字典以字符串表示输出 ____A、cmpIenC、strD^type正确答案:C10、下列哪个函数可以返回输入的变量类型 ____A、CmPB、IenC、strD^type正确答案:D11、若想删除字典,该使用以下哪个方法?OA、popB、de1C、c1earD、Copy正确答案:B12、以下程序的输出结果是(提示:ord(、,)==97):A、sta=[1,2,3,4,5,,a,,,b,,,c,,,d,,,e,]B、int1ista[2]+1ista[5]C、100D、,d,E、dF、TyPeErOr正确答案:D13、列表中可以放多少个字符串0A、 1B、255C、无限个D、由用户自己定义正确答案:C14、PythOI1元组不包含了以下哪个内置函数() A^1en()B、max()C^min()D、tup1e()E、以上都是正确答案:E15、以下哪个选项输出值为3?()A、1en((1,2,3))B、3in(1,2,3)C 、 forxin(1,2,3):D 、 ιntx正确答案:A16、tup1e 函数可以达到什么效果?0A 、计算元组元素个数B 、返回元组中元素最大值C 、将元组转换成列表D 、将列表转换成元组正确答案:D二、填空题(共34题,170分)1、设s=NcdefN 厕s[3]值是.s[3:5]值是,s[⑸值是,s[3:|值是,s[:⑵值是值是,s[2∙5]值是。
Python习题+参考答案

Python习题+参考答案一、单选题(共57题,每题1分,共57分)1.以下不是 Python 语言关键字的选项是( )A、returnB、defineC、defD、in正确答案:B2.实现以下哪个方法可以让对象像函数一样被调用 ( )A、next()B、str()C、call()D、iter()正确答案:C3.下列表达式的值为True的是( )A、1==1 and 2!=1B、3>2>2C、(2**=3)<(2*=3)D、not(1==1 and 0!=1)正确答案:A4.关于下面的代码,以下选项中描述正确的是( ) >>> list(range(0,10,2))A、按关键字参数调用B、按可变参数调用C、执行结果为0, 2, 4, 6, 8D、按位置参数调用正确答案:D5.下面代码的输出结果是( ) str1=“k:1|k1:2|k2:3|k3:4” str_list=str1.split(’|’) d= {} for l in str_list: key,value=l.split(’:’) d[key]=value print(d)A、[k:1,k1:2,k2:3,k3:4]B、{‘k’: ‘1’, ‘k1’: ‘2’, ‘k2’: ‘3’, ‘k3’: ‘4’}C、[‘k’:‘1’, ‘k1’:‘2’, ‘k2’:‘3’,‘k3’:‘4’]D、{k:1,k1:2,k2:3,k3:4}正确答案:B6.对于序列s,能够返回序列s中第i到j以k为步长的元素子序列的表达是( )A、s[i, j, k]B、s(i, j, k)C、s[i; j; k]D、s[i:j:k]正确答案:D7.以下选项中,输出结果为False的是( )A、>>> ‘python’ < ‘pypi’B、>>> ‘ABCD’ == ‘abcd’.upper()C、>>> ‘python123’ > ‘python’D、>>> ‘’<‘a’正确答案:A8.下面代码的输出结果是( )>>> bin(10)A、‘0o1010’B、‘0d1010’C、‘0b1010’D、‘0x1010’正确答案:C9.以下关于Python缩进的描述中,错误的是( )A、Python用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格B、缩进是可以嵌套的,从而形成多层缩进C、缩进表达了所属关系和代码块的所属范围D、判断、循环、函数等都能够通过缩进包含一批代码正确答案:A10.字符串函数strip()的作用是( )A、替换字符串中特定字符"B、去掉字符串两侧空格或指定字符C、按照指定字符分割字符串为数组D、连接两个字符串序列正确答案:B11.以下程序的输出结果是( ) t = “Python” print(t if t >=“python” else “None”)A、pythonB、PythonC、NoneD、t正确答案:C12.关于列表数据结构,下面描述正确的是( )A、不支持 in 运算符B、必须按顺序插入元素C、可以不按顺序查找元素D、所有元素类型必须相同正确答案:C13.字典对象的______________方法返回字典的“值”列表A、values()B、keys()C、key()D、items()正确答案:A14.计算表达式 1234%1000//100 的值为A、3B、4C、1D、2正确答案:D15.下面代码的输出结果是( )for n in range(100,200): i = n // 100 j = n // 10 % 10k = n% 10if n == i ** 3 + j ** 3 + k ** 3:print(n)A、159B、153C、157D、152正确答案:B16.以下选项中,对程序的描述错误的是( )A、程序是由一系列函数组成的B、程序是由一系列代码组成的C、可以利用函数对程序进行模块化设计D、通过封装可以实现代码复用正确答案:A17."给出如下代码以下选项中描述正确的是( ) for i in range(6): print(chr(ord(9801)+i),end="")"A、chr (“a”)返回"a"字符对应的Unicode编码B、输出结果为C、ord(x)函数返回x的Unicode编码对应的字符D、系统报错正确答案:D18."以下程序的输出结果是: for i in range(3): for s in “abcd”: if s==“c”: break print (s,end="")"A、abababB、aaabbbC、abcabcabcD、aaabbbccc正确答案:A19.当需要在字符串中使用特殊字符时,Python使用( )作为转义字符的起始符号A、#B、\C、%D、/正确答案:B20.以下关于Python自带数据结构的运算结果中正确的是( )项?A、basket = [‘apple’, ‘banana’, ‘apple’, ‘orange’] ; fruit = set(basket); len (fruit) 的运算结果是4。
《Python程序设计》习题与答案

《Python程序设计》习题与参考答案第1章基础知识1.1简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python2.x还是Python3.x,最高支持到Python反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python3.x系列的最高版本(目前是Python3.4.3)。
1.2为什么说Python采用的是基于值的内存管理模式?答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>>x=3>>>id(x)>>>y=3>>>id(y)>>>y=5>>>id(y)>>>id(x)1.3在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为✍import模块名[as别名]✍from模块名import对象名[as别名]✍frommathimport*1.4使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pipinstallnumpypipinstallscipy1.5编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:使用整除运算。
)答:1)Pythonx=input('Pleaseinputanintegerofmorethan3digits:')try:x=int(x)x=x//100ifx==0:print('Youmustinputanintegerofmorethan3digits.')else:print(x)exceptBaseException:print('Youmustinputaninteger.')2)Pythonimporttypesx=input('Pleaseinputanintegerofmorethan3digits:')iftype(x)!=types.IntType:print'Youmustinputaninteger.'eliflen(str(x))!=4:print'Youmustinputanintegerofmorethan3digits.'else:printx//100第2章Python数据结构2.1为什么应尽量从列表的尾部进行元素的增加与删除操作?答:当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。
Python练习题+参考答案

Python练习题+参考答案一、单选题(共57题,每题1分,共57分)1.关于Python的全局变量和局部变量,以下选项中描述错误的是( )A、简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放B、全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效C、使用global保留字声明简单数据类型变量后,该变量作为全局变量使用D、局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用正确答案:D2.以下关于循环结构的描述,错误的是:A、遍历循环对循环的次数是不确定的B、遍历循环的循环次数由遍历结构中的元素个数来体现C、非确定次数的循环用 while 语句来实现,确定次数的循环用 for 语句来实现D、非确定次数的循环的次数是根据条件判断来决定的正确答案:A3.以下不能创建一个字典的语句是( )A、dict = {(4,5,6):‘dictionary’}B、dict = {[4,5,6]:‘dictionary’}C、dict= {4:6}D、dict = {}正确答案:B4.下面哪一个不是Python语言的合法命名( )A、3monthlyB、monthlyC、monTHlyD、_Monthly3_正确答案:A5.以下选项中不是文件操作函数或方法的是( )A、readB、writelinesC、readlinesD、load正确答案:D6.以下关于Python循环结构的描述中,错误的是( )A、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数B、continue只结束本次循环C、break用来结束当前次语句,但不跳出当前的循环体D、Python通过for、while等保留字构建循环结构正确答案:C7.在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的一个字符。
A、%dB、%tC、%cD、%s正确答案:C8.下列快捷键中能够中断(Interrupt Execution)Python程序运行的是( )A、F6B、Ctrl + QC、Ctrl + CD、Ctrl + F6正确答案:C9.字符串是一个字符序列,例如,字符串s,从右侧向左取第3个字符用( )索引?A、s[0:-3]B、s[-3]C、s[3]D、s[:-3]正确答案:B10."下面代码的输出结果是( ) for a in ‘mirror’: print(a, end="") if a == ‘r’: break"A、MirrorB、mirC、mirrorD、mi正确答案:B11.字符串是一个连续的字符序列,用( )方式打印出可以换行的字符串。
《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程序设计》试题及答案一、填空题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程序设计》习题与答案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()函数读取一行内容。
《Python语言程序设计》第一章:初识python

《Python语言程序设计》第一章:初识python(100分)一、单选题(共20题)1、在python语言中,可以作为源文件的后缀名的是()。
【单选题】(4分)A.A、pyB.B、pycC.C、pythonD.D、pdf正确答案: A答案解析: 在python语言中py可以作为源文件的后缀名2、python语言属于()。
【单选题】(4分)A.A、机器语言B.B、汇编语言C.C、高级语言D.D、科学计算语言正确答案: C答案解析: python语言属于高级语言3、以下选项,不属于IPO模式的一部分的是()。
【单选题】(4分)A.A、Program(程序)B.B、Process(处理)C.C、Output(输出)D.D、Input(输入)正确答案: A答案解析: Program(程序)不属于IPO模式的一部分4、以下关于Python缩进的描述错误的是()。
【单选题】(4分)A.A、Python采用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格B.B、缩进是可以嵌套的,从而形成多重缩进C.C、缩进表达了所属关系和代码块的所属范围D.D、判断、循环、函数等都能通过缩进包含一批代码正确答案: A答案解析: Python采用严格的缩进表示程序的格式框架,并所有代码都需要在行前至少加一个空格,只在指定判断,循环,函数等需要的地方添加5、以下对Python程序设计风格描述错误的是()。
【单选题】(4分)A.A、Python不允许把多条语句写在同一行B.B、Python中,需要把多行语句写在一行时,要用; 隔开C.C、Python语句中,增加缩进表示语句块的开始,减少缩进表示语句块的退出D.D、Python可以将一条长语句分成多行显示,使用续航符\正确答案: A答案解析: Python允许把多条语句写在同一行6、Python语言语句块的标记是()。
【单选题】(4分)A.A、逗号B.B、缩进C.C、/D.D、分号正确答案: B答案解析: Python语言语句块的标记是缩进7、Python源程序执行的方式是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Python程序设计》习题与参考答案第1章基础知识简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python 还是Python ,最高支持到Python 还是Python 。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 系列的最高版本(目前是Python )。
为什么说Python采用的是基于值的内存管理模式答:Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)>>> y = 3>>> id(y)>>> y = 5>>> id(y)>>> id(x)在Python中导入模块中的对象有哪几种方式答:常用的有三种方式,分别为import 模块名[as 别名]from 模块名import 对象名[ as 别名]from math import *使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:使用整除运算。
)答:1)Python 代码:x = input('Please input an integer of more than 3 digits:')try:x = int(x)x = xelse:print(x)except BaseException:print('You must input an integer.')2)Python 代码:import typesx = input('Please input an integer of more than 3 digits:')if type(x) != :print 'You must input an integer.'elif len(str(x)) != 4:print 'You must input an integer of more than 3 digits.'else:print xoin(map(str,result))2)Python 代码x = input('Please input an integer less than 1000:')t = xi = 2result = []while True:if t==1:breakif t%i==0:(i)t = t/ielse:i+=1print x,'=','*'.join(map(str,result))编写程序,至少使用2种不同的方法计算100以内所有奇数的和。
答:Python 代码如下,如果使用Python 只需要把其中的print()函数改为print语句即可。
x = [i for i in range(1,100) if i%2==1]print(sum(x))print(sum(range(1,100)[::2]))编写程序,实现分段函数计算,如下表所示。
答:Python 代码如下,如果使用Python 只需要把其中的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*x-2)第4章字符串与正则表达式假设有一段英文,其中有单独的字母“I”误写为“i”,请编写程序进行纠正。
答:这里给出Python 代码,如果使用Python 的话只需要修改其中的print()函数为print 语句即可。
1)不使用正则表达式x = "i am a teacher,i am man, and i am 38 years am not a businessman."x = ('i ','I ')x = (' i ',' I ')print(x)2)使用正则表达式x = "i am a teacher,i am man, and i am 38 years am not a businessman."import repattern = (r'(:[^\w]|\b)i(:[^\w])')while True:result = (x)if result:if (0) != 0:x = x[:(0)+1]+'I'+x[(0)-1:]else:x = x[:(0)]+'I'+x[(0)-1:]else:breakprint(x)假设有一段英文,其中有单词中间的字母“i”误写为“I”,请编写程序进行纠正。
答:这里给出Python 代码,如果使用Python 的话只需要修改其中的print()函数为print 语句即可。
import rex = "I am a teacher,I am man, and I am 38 years am not a busInessman."print(x)pattern = (r'(:[\w])I(:[\w])')while True:result = (x)if result:if (0) != 0:x = x[:(0)+1]+'i'+x[(0)-1:]else:x = x[:(0)]+'i'+x[(0)-1:]else:breakprint(x)有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。
例如文本内容为“This is is a desk.”,程序输出为“This is a desk.”答:这里给出Python 代码,如果使用Python 的话只需要修改其中的print()函数为print 语句即可。
1)方法一import rex = 'This is a a desk.'pattern = (r'\b(\w+)(\s+\1){1,}\b')matchResult = (x)x = (1),x)print(x)2)方法二x = 'This is a a desk.'pattern = (r'(P<f>\b\w+\b)\s(P=f)')matchResult = (x)x = (0),(1))简单解释Python的字符串驻留机制。
答:Python支持字符串驻留机制,即:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。
这一点不适用于长字符串,即长字符串不遵守驻留机制,下面的代码演示了短字符串和长字符串在这方面的区别。
>>> a = '1234'>>> b = '1234'>>> id(a) == id(b)True>>> a = '1234'*50>>> b = '1234'*50>>> id(a) == id(b)False编写程序,用户输入一段英文,然后输出这段英文中所有长度为3个字母的单词。
答:这里给出Python 代码,如果使用Python 的话只需要修改其中的print()函数为print 语句即可。
import rex = input('Please input a string:') pattern = (r'\b[a-zA-Z]{3}\b') print(x))第5章函数设计与使用运行小节最后的示例代码,查看结果并分析原因。
答:原因是对于函数的默认值参数只会被处理一次,下次再调用函数并且不为默认值参数赋值时会继续使用上一次的结果,对于列表这样的结构,如果调用函数时为默认值参数的列表插入或删除了元素,将会得到保留,从而影响下一次调用。
编写函数,判断一个整数是否为素数,并编写主程序调用该函数。
答:这里给出Python 代码,如果使用Python 的话只需要修改其中的print()函数为print 语句即可。
import mathdef IsPrime(v):n = int(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))编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。
答:这里给出Python 代码,如果使用Python 的话只需要修改其中的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))在Python程序中,局部变量会隐藏同名的全局变量吗请编写代码进行验证。