Python程序设计实验指导与习题集_第1页
Python程序设计实验指导与习题集_第2页
Python程序设计实验指导与习题集_第3页
Python程序设计实验指导与习题集_第4页
Python程序设计实验指导与习题集_第5页
已阅读5页,还剩149页未读 继续免费阅读

付费阅读全文

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

普通高等院校计算机基础教育“十四五”系列教材

Python程序设计

实验指导与习题集

主编◎赖庆钟广玲

副主编◎陈力颜远海龙冰婷陶建敏

内 容 简 介

本书根据Python程序设计的基础知识编排了多个实验指导,涵盖了Python语法基础知识、

Python流程控制语句、函数、异常处理方法、字符串操作方法、正则表达式、文件操作、面

向对象程序设计、Python数据分析基础等知识,结合“课课有思政”要求,将思政元素融入

各个知识点,内容和案例丰富,针对性强,适合学生课堂和课后上机操作使用。本书还根据

Python程序设计的基础知识编写了课外习题,设置多种题型,共有594题,包含单选题200题、

多选题60题、填空题100题、判断题100题和程序设计题134题。客观题和主观题相互结合,

知识点涵盖全面。

本书提供参考答案和全部的参考代码,适合作为大数据时代“新工科”背景下高校学生

学习编程语言的重要参考用书,也可以作为全国计算机等级考试备考的参考用书。

图书在版编目(CIP)数据

Python程序设计实验指导与习题集/赖庆,钟广玲主编.—北京:

中国铁道出版社有限公司,2022.8

普通高等院校计算机基础教育“十四五”系列教材

ISBN978-7-113-29319-2

Ⅰ.①P… Ⅱ.①赖…②钟… Ⅲ.①软件工具-程序设计-高等

学校-习题集 Ⅳ.①TP311.561-44

中国版本图书馆CIP数据核字(2022)第111679号

书名:Python程序设计实验指导与习题集

作者:赖庆钟广玲

策划:刘丽丽                  编辑部电话:(010)51873202

责任编辑:刘丽丽

封面设计:尚明龙

责任校对:孙玫

责任印制:樊启鹏

出版发行:中国铁道出版社有限公司(100054,北京市西城区右安门西街8号)

网址:/51eds/

印刷:三河市兴达印务有限公司

版次:2022年8月第1版 2022年8月第1次印刷

开本:787 mm×1 092 mm 1/16 印张:9.5 字数:236千

书号:ISBN978-7-113-29319-2

定价:30.00元

版权所有侵权必究

凡购买铁道版图书,如有印制质量问题,请与本社教材图书营销部联系调换。电话:(010)63550836

打击盗版举报电话:(010)63549461

前 言

Python是一门面向对象的、解释型的高级编程语言。对于学习者而言,“Python

程序设计”是一门实践性很强的课程。目前,用于Python程序设计实验指导方

面的书籍较少,所以本教学团队决定收集、整理在教学过程中积累下来的实验

指导和习题集,希望对Python程序设计的学习者有一些帮助。

本书站在初学者的角度,循序渐进地介绍Python程序设计的实验内容和方

法,在编排上,由易到难,由基础操作到项目开发,符合学习者学习计算机编

程的科学规律。

本书内容:

本书结合“课课有思政”要求,将思政元素融入各个知识点,内容和案例丰富,

针对性强,适合学生课堂和课后上机操作使用。本书主要内容分为两部分,第

一部分为实验指导;第二部分为习题集。其中,实验指导涵盖了Python语法基

础知识、Python流程控制语句、函数、异常处理方法、字符串操作方法、正则

表达式、文件操作、面向对象程序设计、Python数据分析基础等知识。习题集

的题型包括单选题(200题)、多选题(60题)、填空题(100题)、判断题(100

题)和程序设计题(134题),总共594题,客观题和主观题相互结合,知识点

涵盖全面。

本书特点:

●将“课课有思政”理念贯穿全书,将思政元素融入各部分知识点。

●内容和案例丰富,针对性强,适合学生课堂和课后上机操作使用。

●习题集的题型丰富,内容涵盖全面。

●提供全部源代码,以便读者参考学习。

II/Python程序设计实验指导与习题集

本书面向的读者:

●零基础的编程初学者

●大数据及相关专业的学生

●大数据技术从业者

●人工智能技术开发人员

●对计算机编程感兴趣的学生

教学使用:

书中的实验指导可用于课堂上机实操练习,每个实验指导可供学习者大约

60分钟课堂练习使用;习题集可供学习者用于课后复习、课后知识的巩固以及

全国计算机等级考级备考。

本书作者介绍:

本书由赖庆、钟广玲任主编,陈力、颜远海、龙冰婷、陶建敏任副主编。

其中赖庆负责全书思政案例和全书的统稿工作;钟广玲负责实验指导的编写和

部分程序设计题的编写工作;陈力、颜远海、龙冰婷、陶建敏负责客观题、部

分程序设计题的编写和所有习题的审核工作。

致谢:

本书在编写过程中,参考了很多相关的资料,在此对前辈们的贡献表示由

衷的感谢。虽作者对本书内容进行了反复修改,但限于水平和时间的仓促,书

中难免存在不足之处,欢迎读者批评指正。

本书的编写历时半载,能顺利完成,感谢所有支持我们的朋友!

编者

2022年5月

目录

上篇实验指导........................................................................................1

实验1实验环境的搭建.....................................................................................................................1

实验2标准库与扩展库中对象的导入和使用.................................................................................3

实验3数字类型.................................................................................................................................5

实验4运算符的使用方法.................................................................................................................7

实验5列表的操作............................................................................................................................11

实验6列表推导式的应用...............................................................................................................13

实验7元组的操作与turtle绘制图形............................................................................................14

实验8字典的操作...........................................................................................................................17

实验9集合的操作...........................................................................................................................19

实验10字符串的操作1..................................................................................................................22

实验11字符串的操作2.................................................................................................................25

实验12综合练习.............................................................................................................................30

实验13if语句.................................................................................................................................31

实验14while循环结构语句...........................................................................................................35

实验15for语句的使用...................................................................................................................38

实验16函数的使用.........................................................................................................................42

实验17模拟钟表程序设计.............................................................................................................44

实验18递归函数.............................................................................................................................47

实验19文件的操作.........................................................................................................................50

实验20Pandas可视化....................................................................................................................53

下篇习题集..........................................................................................59

附录习题集答案................................................................................104

上篇实验指导

实验1实验环境的搭建

【实验目的】

学习JupyterNoteBook的基本用法。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

(1)掌握JupyterNoteBook的基本用法。

(2)编写第1个Python程序。

【实验步骤】

(1)进入平台。单击“开始”按钮,打开“开始”菜单,单击“Anaconda3(64-bit)”→

“JupyterNoteBook”命令,如图1-1所示。

图1-1选择“JupyterNoteBook”命令

(2)在新打开的软件界面中,单击“New”按钮,在打开的列表中选择“Python3”选

项,如图1-2所示,新建Python3文件,开始编写第一个Python程序。

2/Python程序设计实验指导与习题集

图1-2新建Python3文件

(3)重命名文件。新建文件默认文件名为“Untitled1”,右击标题栏的文件名称,弹出

快捷菜单,选择“Rename”,弹出“RenameNotebook”对话框,输入新文件名“lesson01”,

单击“Rename”按钮,如图1-3所示,将文件重命名为“lesson01”。

图1-3“RenameNotebook”对话框

(4)出现图1-4所示界面后,便可以编写程序了。

图1-4编写程序界面

上篇/实验指导3

(5)编写程序,体验print()函数的多种输出格式,代码如图1-5所示。

图1-5print()函数的多种输出方式

(6)编写程序,为代码写上正确的以#开头的注释文字,如图1-6所示。

图1-6伪代码添加注释文字

(7)课后作业:请在自己的机器上安装Anaconda,并把课堂上写的代码上传,打开。

实验2标准库与扩展库中对象的导入和使用

【实验目的】

学习标准库与扩展库中对象的导入和使用。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

掌握标准库与扩展库中对象的导入和使用。

【实验步骤】

(1)打开“Anaconda”→“JupyterNotebook”,继续在BianchengPython文件夹下新建

名为lesson02的Python文档,编写和运行以下代码:

①输入如下代码:

importmath#导入标准库math

math.gcd(56,64)#计算最大公约数

②输入如下代码:

importrandom#导入标准库random

a=random.random()#获得[0,1]内的随机小数

4/Python程序设计实验指导与习题集

b=random.randint(1,100)#获得[0,100]区间内的随机整数

c=random.randrange(1,100,3)#返回[0,100]区间内的隔了3的随机整数

print("a是:",a)

print("b是:",b)

print("c是:",c)

(2)from模块名import对象名[as别名],请编写和运行以下代码:

①输入代码如下:

importnumpyasnp#导入扩展库NumPy,设置别名为np

a=np.array((1,2,3,4))#通过模块的别名来访问其中的对象

print(a)

②输入代码如下:

fromrandomimportsample

sample(range(100),10)#在指定范围内选择不重复元素10个

③输入代码如下:

fromos.pathimportisfile

isfile(r'C:\windows\notepad.exe')

(3)from模块名import*,请编写和运行以下代码:

frommathimport*#导入标准库math中所有对象

sin(3)#求正弦值

sqrt(9)#求平方根

pi#常数

log2(8)#计算以2为底的对数值

log10(100)#计算以10为底的对数值

(4)Python程序的name属性,请编写和运行以下代码:

defmain():#def是用来定义函数的Python关键字

if__name__=='__main__':#选择结构,识别当前运行方式

print('Thisprogramisrundirectly.')

elif__name__=='hello':#冒号、换行、缩进表示一个语句块的开始

print('Thisprogramisusedasamodule.')

main()#调用上面定义的函数

(5)欣赏Python的美,参考代码如下所示:

importturtle#导入库,此处后面:学号+姓名

foriinrange(20):#使用for语句画五角星

turtle.forward(i*10)

turtle.right(144)

turtle.done()#五角星

运行结果如下:

上篇/实验指导5

(6)有基础的同学可拓展(选做):绘制同心圆。

代码如下所示:

#导入相关模块

importturtleast

t.setup(400,400)#窗体大小为400×400

defDrawCetCircle(n):

t.penup()

t.goto(0,-n)#走到左边缘

t.pendown()

t.circle(n)#绘制半径为n的圆

foriinrange(20,100,20):#根据不同半径调用函数,绘制圆

DrawCetCircle(i)

t.hideturtle()#隐藏箭头

t.done()#完成

运行结果为:

实验3数字类型

【实验目的】

认识Python编程的数字类型。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

掌握数字类型及转换。

【实验步骤】

(1)整数的操作,编写代码如下所示:

x=9#整型变量

type(x)#查看变量x类型

type(x)==int

isinstance(x,int)#内置函数isinstance()测试变量是否为指定类型

(2)浮点型的操作,编写代码如下所示:

y=0.235#浮点型变量

type(y)#查看变量y类型

6/Python程序设计实验指导与习题集

(3)布尔类型的操作,编写代码如下所示:

z=0.5

type(z)==int#判断z的类型是整型是否为真

type(z)==float#判断z的类型是浮点型是否为真

(4)复数的操作,编写代码如下所示:

x=3+4j#使用j或J表示复数虚部

y=5+6j

x+y#支持复数之间的算术运算

x*y#乘法运算

abs(x)#内置函数abs()可用来计算复数的模

x.imag#虚部

x.real#实部

x.conjugate()#共轭复数

(5)举一反三,请编写代码实现:

①如果a=156,b=0.314,请查询a和b的数据类型。

②假如c=5,请判断c<3的真假。

③假如m=1+2j,请获取m的实部和虚部并求m的共轭复数。

(6)进制转换。bin(x)将x转换为二进制数据;oct(x)将x转换为八进制数据;int(x)

将x转换为十进制数;hex(x)将x转换为十六进制数据的操作。编写代码如下所示:

x=10#十进制数

print("将x转换为二进制数是:",bin(x))#将十进制的10转换为二进制

print("将x转换为八进制数是:",oct(x))#将十进制的10转换为八进制

y=0b1011#二进制数

print("将y转换为十进制数是:",int(y))#将二进制的0b1010转换为十进制

print("将y转换为十六进制数是:",hex(y))#将十进制的10转换为十六进制

(7)数字类型转换。int(x[,base])将浮点型转换为整型;float(x)将x转换为一个浮点型

数据;complex(x)将x转换为复数类型。编写代码如下所示:

a=2

b=2.2

print(int(b))#将浮点型转换为整型

print(float(a))#将整型转换为浮点型

print(complex(a))#将浮点型转换为复数类型

(8)举一反三。

①假设y=19,请将用二进制、八进制表示。

②在键盘上输入一个整型数,请将它转换为浮点型和复数类型。

③多行注释。

代码如下所示:

"""

y=19#十进制数

print("将x转换为二进制数是:",bin(y))#将十进制的10转换为二进制

print("将x转换为八进制数是:",oct(y))#将十进制的10转换为八进制

"""

'''

上篇/实验指导7

m=int(input("请输入一个整数:"))#从键盘输入一个整数

print(float(m))#将整型转换为浮点型

print(complex(m))#将浮点型转换为复数类型

'''

(9)拓展1(选做)。输入整数n,计算1~n之和,代码如下所示:

m=int(input("请输入一个整数:"))#从键盘输入一个整数

sum=0#设定初始值为0

foriinrange(m):#for循环语句

sum+=m

print("1~%d的求和结果为%d"%(m,sum))#打印输出结果

#print("1~%d的求和结果为:",sum)

(10)拓展2(选做)。整数排序。接收用户输入的3个整数,并把这3个数由小到大输

出,代码如下所示:

l=[]#设置空列表

foriinrange(3):

x=int(input('请输入整数:'))#从键盘输入一个整数后回车键,连续输入3次

l.append(x)#把整数加到列表中

l.sort()#对列表进行排序

print(l)#打印列表

(11)拓展3(选做)。打印九九乘法表,代码如下所示:

foriinrange(1,10):#在1~9之间循环

forjinrange(1,i+1):

print("%dx%d=%-2d"%(j,i,i*j),end='')

print('')#中间有空格输出

实验4运算符的使用方法

【实验目的】

学习运算符的使用方法。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

掌握运算符的使用方法。

【实验步骤】

(1)算术运算符,如+,-,*,/,//,%,**等,代码如下所示:

a=2

b=8

a+b#加法

a-b#减法

8/Python程序设计实验指导与习题集

a*b#乘法

a/b#除法

a//b#整除,取商的整数部分

a%b#取余

a**b#获取a的b次幂

(2)赋值运算符,编码操作如下所示:

a=2

b=3

c=2+3

c+=a#等价于c=c+a

print("c的值是:",c)#打印输出c

c-=a#等价于c=c-a

print("c的值是:",c)#打印输出c

c*=a

print("c的值是:",c)#打印输出c

c%=a#取余数

print("c的值是:",c)#打印输出c

d=2

a=3

d**=a#2的3次方

print("c的值是:",d)#打印输出d

(3)如果num1=4,num2=3,请问num1+num2,num1-num2,num1*num2,num1/num2,

num1%num2,num1**num2,num1//num2的输出是什么?请编写代码并在机器上运行。代

码如下所示:

num1=4

num2=3

print(num1+num2)#加

print(num1-num2)#减

print(num1*num2)#乘

print(num1/num2)#除

print(num1%num2)#取余

print(num1**num2)#num1的num2次幂

print(num1//num2)#取整除,商数

(4)比较运算符操作,代码如下所示:

m=4

n=8

m==n#不成立为False,成立为True

m!=n#m不等于n

m>n#m大于n

m<n#m小于n

(5)假如a=10,b=20,请编写代码输出a==b,a!=b,a<b,a>b,a<=b,a>=b的结果。

代码如下所示:

#比较运算符

a=10

b=20

上篇/实验指导9

print(a==b)#比较两个元素是否相等,返回一个bool类型的值

print(a!=b)#比较两个元素是否不相等

print(a<b)#比较a是否小于b

print(a>b)#比较a是否大于b

print(a<=b)#比较a是否小于等于b

(6)逻辑运算符操作,代码如下所示:

2+3orNone#左侧表达式的布尔值为True

0or3+5#左操作数的布尔值为False

3-3and5

3-4and5

not(3-5)

notFalse

(7)应用案例,代码如下所示:

#逻辑运算符

Name1="liu"

PassWd1=123

#and——与(两者都要满足才可)

ifName1=="liu"andPassWd1==123:

print("Welcome!")

Name2=""

PassWd2=123

#or——或(两者满足其一即可)

ifName2=="liu"orPassWd2==123:

print("你好")

#not——非(取反)

ifnotPassWd2=="123abc":

print("Thepasswdiswrong!")

(8)成员运算符,代码如下所示:

words='abcdefg'

'h'inwords#'h'是否在'abcdefg'中

'g'notinwords#'g'是否不在'abcdefg'

(9)身份运算符操作,代码如下所示:

a=10#定义变量a

b=a#将a引用的内存地址赋值给b

aisb#此时a和b引用的内存地址一样

id(a)#查看a的内存地址

id(b)#查看b的内存地址

(10)案例应用。计算3个商品的价格总和,并输出结果,可以自己编写代码,以下代

码仅供参考。

one=float(input('扫描的第1个商品价格:'))#键盘输入第1个商品的价格

two=float(input('扫描的第2个商品价格:'))#键盘输入第2个商品的价格

thr=float(input('扫描的第3个商品价格:'))#键盘输入第3个商品的价格

total=one+two+thr#3个商品的总价格

print('总计:%d'%int(total))#打印输出总价格

10/Python程序设计实验指导与习题集

(11)位运算符操作,代码如下所示:

#位运算符

num=5

print(bin(num))#输出二进制,0b表示二进制

#按位“与”,对应位都为1,则为1,否则为0.0111&1011=0011

n1=7

n2=11

print(n1&n2)

#按位“或”,对应位有一个是1,则为1,否则为0.0111|1011=1111

n1=7

n2=11

print(n1|n2)

#按位“异或”,对应位不相同,则为1,否则为0.0111^1011=1100

n1=7

n2=11

print(n1^n2)

#按位“取反”,公式:~x=-x-1

print(~n1)

#左移运算符,左移x位,数值扩大为原来的2**x倍

print(n1<<2)

#右移运算符,右移x位,数值缩小为原来的2**x倍

print(n1>>2)

a=4

print(a>>3)

(12)拓展。编写代码,绘制图像如下图所示:

参考代码如下所示:

importtkinterastk

#创建应用程序窗口

root=tk.Tk()

#创建一个大小为200x100的画布,背景颜色为绿色

w=tk.Canvas(root,width=200,height=100,bg='green')

w.pack()

#画一条蓝色的横线

w.create_line(20,50,150,50,fill="blue")

#画一条红色的竖线(虚线)

w.create_line(20,70,150,70,fill="red",dash=(4,4))

#设置文字字体

font=('微软雅黑',10,'bold')

#可以添加文字

w.create_text(100,20,text='我爱中国,华商学子',font=Font)

#启动tkinter主程序

root.mainloop()

上篇/实验指导11

实验5列表的操作

【实验目的】

学习列表的操作。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

掌握列表的基础操作。

【实验步骤】

(1)列表的合法输入,请输入以下代码并运行。

[10,20,30,40]

['crunchyfrog','rambladder','larkvomit']

['spam',2.0,5,[10,20]]

[['files1',200,7],['file2',260,9]]

[{3},{5:6},(1,2,3)]

(2)列表创建与删除,请输入以下代码并运行。

a_list=['a','b','c','d','e']

a_list=[]#创建空列表

list((3,5,7,9,11))#将元组转换为列表

list(range(1,10,2))#将range对象转换为列表

list('helloworld')#将字符串转换为列表

list({3,7,5})#将集合转换为列表,集合中的元素是无序的

list({'a':3,'b':9,'c':78})#将字典的“键”转换为列表

list({'a':3,'b':9,'c':78}.items())#将字典的元素转换为列表

x=list()#创建空列表

x=[1,2,3]

delx#删除列表对象

x#对象删除后无法再访问,抛出异常

(3)列表元素访问的操作,请输入以下代码并运行。

x=list('Python')#把字符串转换为列表

x

x[1]#索引号是从0开始,下标为1的元素,第二个元素

x[-3]#下标为-3的元素,倒数第三个元素

(4)append()、insert()、extend()函数,请输入以下代码并运行。

x=[1,2,3]

x.append(4)#在尾部追加元素

x

x.insert(0,0)#在指定位置插入元素

x

12/Python程序设计实验指导与习题集

x.extend([5,6,7])#在尾部追加多个元素

x

(5)pop()、remove()函数,请输入以下代码并运行。

x=[1,2,3,4,5,6,7]

x.pop()#弹出并返回尾部元素

x.pop(1)#弹出并返回指定位置的元素

x=[1,2,1,1,2]

x.remove(2)#删除第一个值为2的元素

x

delx[3]#删除指定位置上的元素

x

(6)count()、index()函数,请输入以下代码并运行。

x=[1,2,2,3,3,3,4,4,4,4]

x.count(3)#元素3在列表x中的出现次数

x.index(2)#元素2在列表x中首次出现的索引

x.index(5)

(7)sort()、reverse()函数,请输入以下代码并运行。

y=list(range(11))#包含11个整数的列表

y

importrandom

random.shuffle(y)#把列表x中的元素随机乱序

y

y.sort()#对x进行排序

y

y.reverse()#对x进行倒序排序

y

x.sort(key=lambdaitem:len(str(item)),reverse=True)#按转换成字符串以后

的长度,降序排列

x

#将列表中的age由大到小排序

alist=[{'name':'a','age':20},{'name':'b','age':30},{'name':'c',

'age':25}]

b=sorted(alist,key=lambdax:x['age'],reverse=True)

print(b)

(8)列表对象支持的运算符有+和*,请输入以下代码并运行。

x=[1,2,3]

x=x+[4]#加法运算符+可以连接两个列表,得到一个新列表

x

x=[1,2,3,4]

x=x*2#乘法运算符*可以用于列表和整数相乘,表示序列重复,返回新列表

x

3in[1,2,3]#in用于测试列表中是否包含某个元素

3in[1,2,'3']

[1,2,4]>[1,2,3,5]#逐个比较对应位置的元素

[1,2,4]==[1,2,3,5]

(9)内置函数对列表的操作,请输入以下代码并运行。

x=list(range(11))#生成列表

上篇/实验指导13

x

importrandom

random.shuffle(x)#打乱列表中元素顺序

x

all(x)#测试是否存在等价于True的元素

max(x)#返回最大值

max(x,key=str)#按指定规则返回最大值

(10)拓展1。请编写一个程序实现sum=1+2+3+…+100。

(11)拓展2。请编写程序实现用户输入x和y的值,计算(x+y)的平方。

实验6列表推导式的应用

【实验目的】

学习列表推导式的应用。

【实验环境】

(1)台式计算机或笔记本计算机。

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

掌握列表推导式。

【实验步骤】

(1)请新建一个列表,并输出这个列表的类型,代码如下所示:

[2,'JumpShot','LosAngelesLakers']

<class'list'>

(2)列表索引的使用。有列表huashang_list=['数据科学学院','经济与金融','会计学

院','文学院'],现要输出该列表中第2个元素'会计学院'。

(3)请在列表huashang_list=['数据科学学院','经济与金融','会计学院','文学院']中

增加'体育学院',并输出新的列表。

(4)请在列表huashang_list=['数据科学学院','经济与金融','会计学院','文学院']中

的'经济与金融'前插入新的元素'教育学院',并输出新的列表。

(5)请将'教育学院'从huashang_list中删除,并输出新的列表。

(6)请将'文学院'从huashang_list中删除,并输出新的列表。

(7)请输出huashang_list中'体育学院'的位置(索引)。

恭喜您已熟知列表常用的操作,欢迎进阶继续完成下列操作。

列表的切片:形式上,切片使用两个冒号分隔的3个数字来完成,如[start:end:step]。

(8)使用切片获取列表部分元素,现有aList=[3,4,5,6,7,8,9,11,13,15,17],则aList[::],

aList[::-1],aList[::2],aList[3:6],aList[0:100]的输出结果是什么呢?参考代码如下所示:

aList=[3,4,5,6,7,8,9,11,13,15,17]

aList[::]#返回包含原列表钟所有元素的新列表

14/Python程序设计实验指导与习题集

aList[::-1]#返回包含原列表钟所有元素的逆序列表

aList[::2]#从下标0开始,隔一个取一个

aList[3:6]#指定切片的开始和结束位置

aList[0:100]#切片结束位置大于列表长度时,从列表尾部截断

(9)使用切片为列表增加元素,请输入以下代码并运行。

aList=[3,5,7]

aList[len(aList):]

aList=[3,5,7]

aList[len(aList):]=[9]#在列表尾部增加元素

aList

aList[:0]=[1,2]#在列表头部插入多个元素

aList

aList[3:3]=[4]#在列表中间位置插入元素

aList

(10)使用切片替换和修改列表中的元素,请输入以下代码并运行。

aList=[3,5,7,9]

aList[:3]=[1,2,3]#替换列表元素,等号两边的列表长度相等

aList

aList[3:]=[4,5,6]#切片连续,等号两边的列表长度可以不相等

aList

aList[::2]=['a','b','c']#隔一个修改一个

aList

aList[::2]=[1]#切片不连续时等号两边列表长度必须相等

(11)使用切片删除列表中的元素,请输入以下代码并运行。

aList=[3,5,7,9,11]

delaList[:3]#切片元素连续

aList

aList=[3,5,7,9,11]

delaList[::2]#切片元素不连续,隔一个删一个

aList

拓展(有兴趣的同学课后完成下面的第12~14题):列表的推导式。

(12)有列表vec=[[1,2,3],[4,5,6],[7,8,9]],如果要实现输出结果为[1,2,3,4,5,6,7,8,

9],请编写代码并运行。

(13)有列表aList=[-1,-4,6,7.5,-2.3,9,-11],现要保留所有大于0的数字,即输出结果

为[6,7.5,9],该如何编码呢?

(14)产生一个列表,包含20个元素,均是介于[1,10]的整数,查找并输出该列表中

最大元素的所有位置,该如何编码呢?

实验7元组的操作与turtle绘制图形

【实验目的】

学习元组的操作与turtle绘制图形。

【实验环境】

(1)台式计算机或笔记本计算机。

上篇/实验指导15

(2)Windows10操作系统。

(3)Anaconda3、编辑工具、浏览器等。

【实验内容】

(1)掌握元组的操作。

(2)掌握turtle绘制图形。

【实验步骤】

(1)元组的创建与元素访问。请输入以下代码并运行。

x=(1,2,3)#直接把元组赋值给一个变量

type(x)#使用type()函数查看变量类型

x[0]#元组支持使用下标访问特定位置的元素

x[-1]#最后一个元素,元组也支持双向索引

x[1]=4#元组是不可变的

(2)请创建元组jike19=('算法','数据库','程序设计','操作系统'):

①请将其打印出来。

②输出“程序设计”。

③输出元组jike19的长度。

④计算“操作系统”在元组中出现的次数并输出。

⑤输出“数据库”的索引号。

(3)新建元组huashang01=('计算机科学与技术','大数据','电子商务','软件工程'):

①请将元组jike19和huashang01合并成一个新的元组tup,并打印输出。

②请复制tup,并打印输出。

③删除tup。

(4)元组与列表的操作有哪些异同点?

(5)创建画布,窗体大小为600*600,以下代码仅供参考。

#导入相关模块

importturtle

turtle.setup(600,600)#窗体大小为600×600

turtle.done()#完成

(6)turtle画图案例,绘制五角星,以下代码仅供参考。

#导入相关模块

importturtleast

importtime

t.setup(600,400)#窗体大小为600×400

t.pensize(5)#设置画笔宽度

t.pencolor("yellow")#设置画笔颜色

t.fillcolor("red")#设置填充颜色

t.begin_fill()#开始填充位置

for_inrange(5):

t.forward(200)

t.right(144)

t.end_fill()#结束填充位置

time.sleep(1)#暂停1秒

16/Python程序设计实验指导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论