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

合集下载

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

《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程序设计基础练习题及答案

思考与练习答案练习一1.(略)2. 答:只有在第一行为‘空’、进入到第二行时,Sublime菜单项‘文件(F)’下拉菜单中的‘保存(S)’命令才成为可用。

3. 答:程序执行和交互执行两种方式。

4. 答:C练习二1. 答:不行,因为3不是一个有效的变量名,变量名只能以英文字母或下划线打头。

2. 答:可以。

3. 答:空字符串是单引号(或双引号)里不包含任何字符的字符串。

若单引号(或双引号)里包含了一个空格字符,那就表明该字符串里有字符,因此它不是空字符串。

所以,空字符串与单引号(或双引号)里面只包含一个空格字符的字符串,它们是两个不同的字符串概念。

4. 答:第一个print语句输出Please Wait Beyond TheLine.;第二个print语句输出please wait beyond the line.;第三个print语句输出Please Wait Beyond TheLine.5. 答:第一句输出的结果是20;第二句输出的是-1。

6. 答:输出:中华人民共和国,中华人民共和国7. 答:程序中出现n时,代表的是英文中的一个小写字母n;程序中出现\n时,反斜杠后跟随的n就不再是英文中的小写字母n,这个整体被视为是换行符。

8. 答:用str1[-10:-1]截取出的切片是a student。

为了将此切片反转过来,应该做如下的两个操作,第一是先将该切片存放到另一个变量str2里:str2=str1[-10:-1];然后将str2进行反转,即:str2[::-1]。

9. 答:7、32、1。

10. 答:有两种办法,一是当字符串中出现撇号(’)时,用双引号定义该字符串;二是用转义字符\’代替直接使用撇号。

11.答:0b、0o、0x。

12. 答:(1)表示要确定变量ch里的内容是否是介于0与9之间;(2)表示要确定变量ch里的内容是否是介于小写字母a与z之间; (3)表示要确定变量ch里的内容是否是介于大写字母A与Z之间。

《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程序设计方案》习题与答案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教材答案《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

《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源程序执行的方式是()。

《PYTHON程序设计基础》习题答案与分析

《PYTHON程序设计基础》习题答案与分析

Python程序设计基础习题答案与分析程昱第1章基础知识1.1简单说明如何选择正确的Python版本。

答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,是Python2.x还是Python3.x,最高支持到Python2.7.6还是Python2.7.9。

这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装和卸载上。

同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。

尽管如此,Python3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python3.x系列的最高版本(目前是Python3.4.3)。

1.2为什么说Python采用的是基于值的内存管理模式?Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。

>>>x=3>>>id(x)10417624>>>y=3>>>id(y)10417624>>>y=5>>>id(y)10417600>>>id(x)10417624>>>x=[1,2,3,1,1,2]>>>id(x[0])==id(x[3])==id(x[4])True1.3解释Python中的运算符“/”和“//”的区别。

答:在Python2.x中,“/”为普通除法,当两个数值对象进行除法运算时,最终结果的精度与操作数中精度最高的一致;在Python3.x中,“/”为真除法,与除法的数学含义一致。

Python程序设计答案和解析

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. 答案:私有成员在类的外部不能直接访问,一般是在类的内部进行访问和操作,或者在类的外部通过调用对象的公有成员方法来访问,而公有成员是可以公开使用的,既可以在类的内部进行访问,也可以在外部程序中使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Python程序设计》习题与参考答案第1章基础知识1.1 简单说明如何选择正确的Python版本。

答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高反复安装和卸载上。

同时还应该注意,当更新的Python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。

尽管如此,Python 3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3.x系列的最高版本(目前是Python 3.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 别名]●from math import *1.4 使用pip命令安装numpy、scipy模块。

答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1.5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。

例如用户输入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.')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以内所有奇数的和。

相关文档
最新文档