Python实验指导书1223054756Word文件下载.docx

上传人:b****5 文档编号:19522910 上传时间:2023-01-07 格式:DOCX 页数:21 大小:531.25KB
下载 相关 举报
Python实验指导书1223054756Word文件下载.docx_第1页
第1页 / 共21页
Python实验指导书1223054756Word文件下载.docx_第2页
第2页 / 共21页
Python实验指导书1223054756Word文件下载.docx_第3页
第3页 / 共21页
Python实验指导书1223054756Word文件下载.docx_第4页
第4页 / 共21页
Python实验指导书1223054756Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Python实验指导书1223054756Word文件下载.docx

《Python实验指导书1223054756Word文件下载.docx》由会员分享,可在线阅读,更多相关《Python实验指导书1223054756Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

Python实验指导书1223054756Word文件下载.docx

*10}

計讪"

它将且接执行]韭輕空丄阴和出如战J

print「敢裁|】『)foriui「训但社#16忙

z亠洁帕-iziri-住返聖抖干捷0畑「•用在曲别士fiPJfaff片些丄W

"

7器買1Tip]lr阳r!

1*}

在啊中/搭恂了謝Jft审曲扌瓮用曹"

fond"

■雨甲疔事苻肅.ft用单颅I

print「这是ALiw\・的问候*“)*訓号M,洼芋脱4檻游

print{'

^-^Eoti\r^问详."

)'

J

亠一

cotinter4cotiliter1

pararlpsecondParam.res})

Eg齐*和Oi苜市同

^lf(pdrdnl--42)^.-(5recon<

iParam--24)}:

*严雷运ti并-不価爲应&

«

)||<

世用直织I归E衣笙勇J

for(paramirsecondParaw):

res-paramiL+secondPiarawprint("

{}3!

]{}尊于{}"

fomnSif

jli1(res--50)print('

.-SP/J|

2⑸⑼时涸用,曰■朗三后逹代忖J

一.W于I

诉汨由:

占稔芥用[}之韭&

?

糾号翩ffl'

吉!

ft®

军十4啟碎P■在側师0冉事趾上)

也地君,M实S?

人了》.py

」那护oi—

-診在脾e甥炳■用主宙腐・M:

呱:

呵日煉网円議的逗庁・;

酉且旧斗期nW逅庁书祗*訶

_rwrhr_7rtr_mj»

in_:

这磔当片;

憩些«

t!

B快爵巧希冷车g齐nziru”.

酌mminSAfi勿了离狗愛伺也■购.”

2.Turtle库语法元素

3•基本数据类型

三、实验内容及步骤:

基础实验:

1.启动IDLE,新建文件,请根据课本中内容,将“蟒蛇绘制”程序逐行输入其中,并

运行效果。

2.正方形螺旋线的绘制。

(1)利用turtle库绘制一个正方形螺旋线,效果如下图所示。

importturtle

turtle.speed("

fastest'

)turtle,pensize

(2)|forxinrange(100):

turtle,forward(2*x)turtle*left(90)

(2)修改上面程序,绘制斜螺旋线,效果如下图所示。

turtle.sp已ed(fastest)turtle,pensize

(2)forxinrange(100):

turtle.forward(2*x)turtle,left(91)

(3)

修改上面程序,绘制彩色斜螺旋线,效果如下图所示。

.lturtlel

turtle,pensize⑵turtle.speed

colors二[*red*,*vellaw*3'

purple'

1blue'

]

xrange(100;

turtle,pencolor(colors[x%4_turtle,forward(2*x)turtle.left(91;

3.彩色蟒蛇绘制。

修改1中“蟒蛇绘制”程序,对Python蟒蛇的每个部分采用不同颜

色,绘制一条彩色蟒蛇。

(提示:

参考彩色斜螺旋线绘制程序。

实现方法有很多,按照你自己的思路发挥吧)

程序完成后,上传提交。

4.绘制奥运五环图,其中五种颜色分别为蓝色、黑色、红色、黄色和绿色。

注意根据实际效果调整圆形的大小和位置。

效果如图所示。

请补全绿色环的代码,将程序上传提交

■Turtl?

#导入tMTlo揍块

turtle.pensi2e(10)H定玄匮笔宽度

turtle,colorCblue"

)工走文颓色

turtle,penup()■:

endoim()设置區至抬起或放下时.昱百绘也亘红

Turtle.^010(-110,-25)碎初始位呂以中心坐标为(0,0:

1

tor〔亠巴.pencla^iiO

turt_e.circle(45)壬绘却1區的*拄

turtle,color(black*}

tanle.penupO

turtle.&

oto(0,-25)

Turtle,p()

turtle.circle(45)

turt1?

.color("

d"

rurrle.penup0

turtle,goto(110,-25)

turtle,pendown('

turtle,circle(45)

turtle,color(yellov"

tuit.e.penupO

tuttJ.e.goto(-55,-75)

turtle.pEndowni.)

5.参照课本中带刷新的文本进度条例子,制作一个模拟windows启动界面的文本进度条,

执行效果如下图所示。

C:

\WINDOWS\py.exe

—〜正在启动评indcws*…*---*-

[HillIII1111124%

源码如下:

#ycrwindows启动的文本进度条1

imp(_:

jLtime

Scale二10

print()

foriinrange(1,12):

ifiinti,6,11):

printC(0:

"

50:

\formatC-'

*20))

U]S£

:

“printCto:

>

15?

20}(2:

<

lo}format('

I'

「I'

T))

print("

正在启动聊indc讦s...'

.center(scale.'

-))

foriir.range(scale+1?

:

日二「I:

米i

b=\'

*(scale-i)

c=(i/scale)*100

print(*\r[{}{}1{:

3.Of}%*,formatb,c)>

eiid=,1)

Time,sleep(0・3)

print("

5+启动5E成!

.center(scale,-))

Python程序设计之结构与复用

1.实验目的

i掌握程序的分支、循环等控制结构;

2.掌握random随机库的使用方法;

3•了解程序的异常处理及用法;

4.掌握函数的定义和调用方法。

2.知识要点

1.程序控制结构

2.函数和代码复用

三实验内容及步骤

1.猜数字游戏。

在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如

果大于预设的数,显示“你猜的数字大于正确答案”;

小于预设的数,显示“你猜的数字

小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其

中N是用户输入数字的次数。

#输入的数字secret^?

#锁设将数宇

times^l廿霜數宇药次数

print欢迎参加猜数字游戏,请开始*)

vliileguess!

=secret:

二条件’

guess=int(input(飞数字区间0-9,请输入你猜的数字:

写))print("

你嶽人数李是£

guess)

ifguess==secret:

print("

你猜了:

次•猜对7t真厉害"

・format(times))

ifguess<

secret:

你猜的数字小于正确答案"

)亡SprintC你猜的数字大于正确答案Jtimes+=l

printT游戏结束J

2.猜数字游戏续。

改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围

在0-100之间,其他游戏规则不变。

importrandom

guess=O口输入的数字

times-1耳踌数字的决数

secret=random.randint(0,100)吃生成随机数

print(欢迈参加猜数字游我*请开始)

wqi1cguessl^sccret:

且条件

guess=int(input(理数宇区间OTQO,;

占縮i人你猜的数字;

))print(你谕入数字是:

、guess)

ifgu&

ss==sfLcr?

t*

printC*你猜了{}纭猜朮了.真讶害"

・format(times))else:

丄i呂u皂ss<

print「你猜的数字小于正确答案0

prime你猜的数字大于正确答案"

times+-l

print游戏结束"

3.猜数字游戏再续。

用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。

用for循环改写整个程序,并提交。

(提示,猜对后可使用break跳出循环)

4.猜数字游戏之续了又续。

为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。

在调用GuessSecret时允许用户自己设置maxtimes,美化程序的输出界面。

提交程序文件。

importrandomj

defGuessSecret(maxtimes):

融数的实现代码

maxts^eval(input(乜请输入猜数字的最大次数:

))GuessSecret<

maxts^■—此逊嘀用Gut^Secrc诵藏|

LN巧卅口仃干币-T

斤£

E航SHikIOptidhtW-ndowHelp.

Pyrhon3G.1(vl6.L:

C9cOdb5,Mar212017,17:

54:

52)onWin32

Type"

copyright"

、"

crtjd.is"

or"

license(.)'

formore:

ZjTZ

RESTART:

C:

\Lsers\Heima\Desktop\05FythcrAFython实逆数小游戏04.py

上靑输人薙歡主門泵大丈竝書

欢迎參U詰豹字溝戏,茴产始

嫩字区间0-1003请搐入你猜的数字:

|

5.递归法绘制科赫曲线。

请根据课本中内容,将“科赫曲线绘制”程序逐行输入其中,

按自己的思路进行修改并运行效果,体会递归思想。

Python程序设计之组合数据类型

1•了解3类基本组合数据类型。

2.理解列表概念并掌握Python中列表的使用。

3.理解字典概念并掌握Python中字典的使用。

4.运用jieba库进行中文分词并进行文本词频统计。

1.知识要点总图

LI

屮血內

三•实验内容及步骤

1.利用列表实现石头剪刀布游戏。

请补全程序并提交。

请思考:

winList使用元组实现可以吗?

童鞋们,动手试试吧!

y~randoTii

瓷手势类型

allListI「占头S'

剪刀;

布’]

T布;

石人:

艺定义荻胜的情况

winList=[「石久打剪刀['

剪刀’「布J琴用户输入

chiiuin--l

prompt=

==或:

迎参加石头剪刀柱游戏==

#:

头刀不选石剪布我^0123

print「耶录.JFJT7亡Is亡■

MintC'

你输了!

Q

处intL游疋结頂!

2.利用字典实现大侠个人信息查询程序。

如何修改程序,使用户只有在输入“exit”的时候才退出程序?

诸位,亮亮你

的手段吧!

提示:

可参考1中的石头剪刀布游戏。

pege={

'

乔峰

绝技'

T降龙十人拿

1门派’「丐帮’

张无忌•:

{

<

®

g,:

乾坤大挪移'

门派V明就

•令统冲*・{

•绝技’独孤九剑S•门減「华山澹

}

labels-;

绝技’:

廿疋江制豹绝技S

1门派'

所在的门派'

七初始化名字

naiMFinputC请输入大快的名字:

#获取选项

r=inputC请选择大侠的绝技(q)或者门派(a)/)

萍获取键

if工=<

f:

y=!

樂我"

jfr—且"

y-门減

常查找

Ifnameinpeople:

printCJ)-J%;

}是{_.'

.format—・—

程序执行效果如下:

Python3.6.1Shel

FileEditShellDebugOpbon^WindowHdp

Python3.6.1fv3.6.1:

69c0db53Mar212onWin32

Tvpe*copvright"

^credits"

lieens»

>

================RESTART:

C:

\Users\H

诗输入大侠的名字:

请选择大侠的绝技(Q)或者门派(a):

Q齐峰大快行走江湖的绝技是降龙十八掌*»

\

3.利用jieba库对李之仪的《卜算子》进行分词,按以下要求编写程序。

(1)利用jieba库对李之仪的《卜算子》进行分词,并查看分词结果。

iifrp

iinporTjiebatxt二…

卜算子

【宋】李之仪我住长江头,君住长江尾◎日日思君不见君,共饮长江水。

此水几时休?

此恨何时已?

只愿君心似我心,定不负相思意。

words二jieba*lcut(txt)prim(words)

(2)对每个单词计数,并保存到字典类型counts中。

查看counts的内容。

counts={}

fcrwordinwords:

iflen(word)二二L:

continue

else:

rward二word

countsLrword]二counts■呂巳T(i■聊oid,0〉十1print(counts)

(3)按照单词出现的次数从高到低排序。

因为字典类型是无序的,无法排序,因此将

counts转为列表类型(列表排序的知识点详见"

python中列表的sort方法使用详解”)。

查看排序后的结果。

items二list(counts,items0)

items,sort(key=lambdarever&

e=True)

foriteminitems:

print(item)

4•《红楼梦》人物统计。

参考课本中《三国演义》人物出场统计的程序,编写程序统计

《红楼梦》中前20位出场最多的人物,并提交。

这里给出参考答案。

(贾宝玉,3908)、(王熙凤,1611)、(贾母,1429)、(林黛玉,1291)、(王夫人,1061)、(薛宝钗,929)、(袭人,745)、(贾琏,688)、(平儿,602)、(贾政,523)、(薛姨妈,455)、(探春,437)、(鸳鸯,423)、(史湘云,412)、(晴雯,336)、(贾珍,299)、(刘姥姥,288)、(紫鹃,288)、(邢夫人,287)、(香菱,264)

Python程序设计之文件

1.实验目的:

1•掌握文件的读写方法以及打开和关闭等基本操作。

2•掌握一二维数据的存储格式和读写方法。

3.运用json库进行数据的维度转换。

2.知识要点:

1.

文件知识要点总图

3.实验内容及步骤

在桌面上建立一个以自己学号命名的文件夹,所有实验内容都保存在该文件夹下。

1.在excel里录入如下学生信息,并另存为"

学生信息表.csv”(另存为时,保存类型选

择CSV)。

并按以下步骤进行操作,完成程序后提交。

参考教材中操作“城市价格

指数”的实例)

(1)从CSV文件中读取数据,去掉内容中的逗号,打印到屏幕。

RESTART:

\Lsers\Administrator.WIAT'

l7030710

导书\04实验四资料\0LlGetCS^vLine,py

学号姓名性别班级

lTOjpOOl张三丰男自动化1501

(2)将数据['

17010002'

'

赵四'

女'

自动化1701'

]追加到“学生信息表.csv”文件。

(3)将“学生信息表.csv”由CSV格式转换成JSON格式。

17010002\

2.编写程序,根据文件data.txt中的数据,使用turtle库来动态绘制图形路径。

3.

impnrtturtle

dufniciinf):

匸设骨.窗口信息

turtle*setup(1024,76S,0t0)往设冒画笔*-

turtle,pencolor(red*)turtle,width(5)turtle,speed(5)眾JR文件result^_]

file=open(data,txtTb"

forLineinfile:

resuIt*append(list(map(float?

line・split(,))))print(result)芒动态绘制

orii:

range(len(result));

color(

turtle,for阳rd仗

ifresult[i][1[:

turtle,rt(p

turtle.It(result[i][2])

turtle,gotoCO,0)

_nameT_--,—価rmainO

可否通过修改data.txt文件,绘制教材中第1章课后的“太阳花”?

对代码的一点说明:

其中的map函数用法:

第一个参数接收一个函数名,第二个参数接收一个可迭代对象

IS=[1,2,3]

rs=map(str.Is)#打印结果['

1'

2,3]

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

defadd(num):

returnnum+1

rs=map(add,lt)

print(rs)#[2,3,4,5,6,7]

4.编写程序将电子邮件EmailAddressBook.txt和电话薄TeleAddressBook.txt合并为

个完整的通讯录AddressBook.txt

给出程序代码如下。

利用字符串和列表将两个通讯录文本合并为一个文本defmain():

filel=open(TeleAddressBook・txt*,r*)

file2=open(*ErailAddressBook・txt*,r)

filel.readline()?

跳过第一行

file2.readline0

1inpsl=filftl.rpadlin<

^s()lines2=file2.readlines0

I]

listl_name=listl.tele=list2_name=list2_enail=

lorlineinlinesl:

4获取第一个文本中的姓名和电话f言息elements=line.split()lis:

l_name.append(elements[0[)lis:

l_tele.append(elements[1])

frlineinlines2:

9茯取第二个文本中的姓名和邮件仁息elements=line.split。

lis:

2_name・append(elements[0])

1is:

2_email・append(elements[1])

祈=开始处3?

splines=[]lines,append(*姓名\t电话\t邮箱\rf)

祥按索引方式遍历姓名列表1

toriir.range(len(listl.name)):

s=

iflistl-nane〔i[mlist2-name:

j=list2_name.index(listl_name[i])二找到[姓名列表1~一二的夕

s='

\t'

・join([listl_name[ihlistl.teleli\list2-emailLj]])s+=*\n*

\t'

・join([listl_name[i]wlistl_tele[i],*'

])

s+=,\n

lines.append(s)

Q处理姓名列表2中射余的姓名

1:

riirange(len(list2_name)):

Its=

fIist2_nanie2ijxrnlistl.name:

s='

\t・join([list2_naine[i],s+=■\n

lines・append(s)

file3■open(*AddressBook.txt*,*w*)

file3・writelines(lines)

file3.close0

filel.close0

file2.close0

print(^址溥合并完成"

)if_name_==~_main_"

mA<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1