《Python程序设计方案》习题与答案.docx
- 文档编号:17043777
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:59
- 大小:52.82KB
《Python程序设计方案》习题与答案.docx
《《Python程序设计方案》习题与答案.docx》由会员分享,可在线阅读,更多相关《《Python程序设计方案》习题与答案.docx(59页珍藏版)》请在冰点文库上搜索。
《Python程序设计方案》习题与答案
《Python程序设计》习题与参考答案
第1章基础知识
1.1简单说明如何选择正确的P⍓♦♒☐⏹版本。
答:
在选择P⍓♦♒☐⏹的时候,一定要先考虑清楚自己学习P⍓♦♒☐⏹的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的P⍓♦♒☐⏹,是P⍓♦♒☐⏹2.⌧还是P⍓♦♒☐⏹3.⌧,最高支持到P⍓♦♒☐⏹2.7.6还是P⍓♦♒☐⏹2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在P⍓♦♒☐⏹的反复安装和卸载上。
同时还应该注意,当更新的P⍓♦♒☐⏹版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,P⍓♦♒☐⏹3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择P⍓♦♒☐⏹3.⌧系列的最高版本(目前是P⍓♦♒☐⏹3.4.3)。
1.2为什么说P⍓♦♒☐⏹采用的是基于值的内存管理模式?
答:
P⍓♦♒☐⏹采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>>⌧=3
>>>♓♎☎⌧✆
10417624
>>>⍓=3
>>>♓♎☎⍓✆
10417624
>>>⍓=5
>>>♓♎☎⍓✆
10417600
>>>♓♎☎⌧✆
10417624
1.3在P⍓♦♒☐⏹中导入模块中的对象有哪几种方式?
答:
常用的有三种方式,分别为
●♓❍☐☐❒♦模块名☯♋♦别名]
●♐❒☐❍模块名♓❍☐☐❒♦对象名☯♋♦别名]
●♐❒☐❍❍♋♦♒♓❍☐☐❒♦✉
1.4使用☐♓☐命令安装⏹◆❍☐⍓、♦♍♓☐⍓模块。
答:
在命令提示符环境下执行下面的命令:
☐♓☐♓⏹♦♦♋●●⏹◆❍☐⍓
☐♓☐♓⏹♦♦♋●●♦♍♓☐⍓
1.5编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:
使用整除运算。
)
答:
1)P⍓♦♒☐⏹3.4.2代码:
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐❍☐❒♏♦♒♋⏹3♎♓♑♓♦♦:
'✆
♦❒⍓:
⌧=♓⏹♦☎⌧✆
⌧=⌧//100
♓♐⌧==0:
☐❒♓⏹♦☎'✡☐◆❍◆♦♦♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐❍☐❒♏♦♒♋⏹3♎♓♑♓♦♦.'✆
♏●♦♏:
☐❒♓⏹♦☎⌧✆
♏⌧♍♏☐♦B♋♦♏☜⌧♍♏☐♦♓☐⏹:
☐❒♓⏹♦☎'✡☐◆❍◆♦♦♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒.'✆
2)P⍓♦♒☐⏹2.7.8代码:
♓❍☐☐❒♦♦⍓☐♏♦
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐❍☐❒♏♦♒♋⏹3♎♓♑♓♦♦:
'✆
♓♐♦⍓☐♏☎⌧✆✐=♦⍓☐♏♦.✋⏹♦❆⍓☐♏:
☐❒♓⏹♦'✡☐◆❍◆♦♦♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒.'
♏●♓♐●♏⏹☎♦♦❒☎⌧✆✆✐=4:
☐❒♓⏹♦'✡☐◆❍◆♦♦♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐❍☐❒♏♦♒♋⏹3♎♓♑♓♦♦.'
♏●♦♏:
☐❒♓⏹♦⌧//100
第2章P⍓♦♒☐⏹数据结构
2.1为什么应尽量从列表的尾部进行元素的增加与删除操作?
答:
当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。
2.2编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。
(提示:
使用集合。
)
答:
1)P⍓♦♒☐⏹3.4.2代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎1000✆]
♎=♦♏♦☎⌧✆
♐☐❒v♓⏹♎:
☐❒♓⏹♦☎v,':
',⌧.♍☐◆⏹♦☎v✆✆
2)P⍓♦♒☐⏹2.7.8代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎1000✆]
♎=♦♏♦☎⌧✆
♐☐❒v♓⏹♎:
☐❒♓⏹♦v,':
',⌧.♍☐◆⏹♦☎v✆
2.3编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。
例如用户输入☯1,2,3,4,5,6]和2,5,程序输出☯3,4,5,6]。
答:
1)P⍓♦♒☐⏹3.4.2代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋●♓♦♦:
'✆
⌧=♏v♋●☎⌧✆
♦♦♋❒♦,♏⏹♎=♏v♋●☎♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♦♒♏♦♦♋❒♦☐☐♦♓♦♓☐⏹♋⏹♎♦♒♏♏⏹♎☐☐♦♓♦♓☐⏹:
'✆✆
☐❒♓⏹♦☎⌧☯♦♦♋❒♦:
♏⏹♎]✆
2)P⍓♦♒☐⏹2.7.8代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋●♓♦♦:
'✆
♦♦♋❒♦,♏⏹♎=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♦♒♏♦♦♋❒♦☐☐♦♓♦♓☐⏹♋⏹♎♦♒♏♏⏹♎☐☐♦♓♦♓☐⏹:
'✆
☐❒♓⏹♦⌧☯♦♦♋❒♦:
♏⏹♎]
2.4设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出❽您输入的键不存在!
❾
答:
1)P⍓♦♒☐⏹3.4.2代码
♎={1:
'♋',2:
'♌',3:
'♍',4:
'♎'❝
v=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋k♏⍓:
'✆
v=♏v♋●☎v✆
☐❒♓⏹♦☎♎.♑♏♦☎v,'您输入的的键不存在'✆✆
2)P⍓♦♒☐⏹2.7.8代码
♎={1:
'♋',2:
'♌',3:
'♍',4:
'♎'❝
v=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋k♏⍓:
'✆
☐❒♓⏹♦☎♎.♑♏♦☎v,'您输入的的键不存在'✆✆
2.5编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
答:
1)P⍓♦♒☐⏹3.4.2代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎20✆]
☐❒♓⏹♦☎⌧✆
⍓=⌧☯0:
10]
⍓.♦☐❒♦☎✆
⌧☯0:
10]=⍓
⍓=⌧☯10:
20]
⍓.♦☐❒♦☎❒♏v♏❒♦♏=❆❒◆♏✆
⌧☯10:
20]=⍓
☐❒♓⏹♦☎⌧✆
2)P⍓♦♒☐⏹2.7.8代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎20✆]
☐❒♓⏹♦⌧
⍓=⌧☯0:
10]
⍓.♦☐❒♦☎✆
⌧☯0:
10]=⍓
⍓=⌧☯10:
20]
⍓.♦☐❒♦☎❒♏v♏❒♦♏=❆❒◆♏✆
⌧☯10:
20]=⍓
☐❒♓⏹♦⌧
2.6在P⍓♦♒☐⏹中,字典和集合都是用一对大括号作为定界符,字典的每个元素有两部分组成,即键和值,其中键不允许重复。
2.7假设有列表♋=☯'⏹♋❍♏','♋♑♏','♦♏⌧']和♌=☯'D☐⏹♑',38,'M♋●♏'],请使用一个语句将这两个列表的内容转换为字典,并且以列表♋中的元素为键,以列表♌中的元素为值,这个语句可以写为♍=♎♓♍♦☎z♓☐☎♋,♌✆✆。
2.8假设有一个列表♋,现要求从列表♋中每3个元素取1个,并且将取到的元素组成新的列表♌,可以使用语句♌=♋☯:
:
3]。
2.9使用列表推导式生成包含10个数字5的列表,语句可以写为☯5♐☐❒♓♓⏹❒♋⏹♑♏☎10✆]。
2.10不可以(可以、不可以)使用♎♏●命令来删除元组中的部分元素。
第3章选择结构与循环结构
3.1分析逻辑运算符❽☐❒❾的短路求值特性。
答:
假设有表达式❽表达式1☐❒表达式2❾,如果表达式1的值等价于❆❒◆♏,那么无论表达式2的值是什么,整个表达式的值总是等价于❆❒◆♏。
因此,不需要再计算表达式2的值。
3.2编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。
如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
答:
1)P⍓♦♒☐⏹3.4.2代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐4♎♓♑♓♦♦❍♏♋⏹♓⏹♑♦♒♏⍓♏♋❒:
'✆
⌧=♏v♋●☎⌧✆
♓♐⌧%400==0☐❒☎⌧%4==0♋⏹♎⏹☐♦⌧%100==0✆:
☐❒♓⏹♦☎'✡♏♦'✆
♏●♦♏:
☐❒♓⏹♦☎'☠☐'✆
2)P⍓♦♒☐⏹2.7.8代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒☐♐4♎♓♑♓♦♦❍♏♋⏹♓⏹♑♦♒♏⍓♏♋❒:
'✆
♓♐⌧%400==0☐❒☎⌧%4==0♋⏹♎⏹☐♦⌧%100==0✆:
☐❒♓⏹♦'✡♏♦'
♏●♦♏:
☐❒♓⏹♦'☠☐'
3.3编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。
(提示:
从后向前删。
)
答:
1)P⍓♦♒☐⏹3.4.2代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎50✆]
☐❒♓⏹♦☎⌧✆
♓=●♏⏹☎⌧✆-1
♦♒♓●♏♓>=0:
♓♐⌧☯♓]%2==1:
♎♏●⌧☯♓]
♓-=1
☐❒♓⏹♦☎⌧✆
2)P⍓♦♒☐⏹2.7.8代码
把上面的代码中第三行和最后一行改为☐❒♓⏹♦⌧即可。
34编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。
(提示:
使用切片。
)
答:
1)P⍓♦♒☐⏹3.4.2代码
♓❍☐☐❒♦❒♋⏹♎☐❍
⌧=☯❒♋⏹♎☐❍.❒♋⏹♎♓⏹♦☎0,100✆♐☐❒♓♓⏹❒♋⏹♑♏☎20✆]
☐❒♓⏹♦☎⌧✆
⍓=⌧☯:
:
2]
⍓.♦☐❒♦☎❒♏v♏❒♦♏=❆❒◆♏✆
⌧☯:
:
2]=⍓
☐❒♓⏹♦☎⌧✆
2)P⍓♦♒☐⏹2.7.8代码
把上面的代码中第三行和最后一行改为☐❒♓⏹♦⌧即可。
35编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。
例如,10=2×5,60=2×2×3×5。
答:
1)P⍓♦♒☐⏹3.4.2代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒●♏♦♦♦♒♋⏹1000:
'✆
⌧=♏v♋●☎'⌧'✆
♦=⌧
♓=2
❒♏♦◆●♦=☯]
♦♒♓●♏❆❒◆♏:
♓♐♦==1:
♌❒♏♋k
♓♐♦%♓==0:
❒♏♦◆●♦.♋☐☐♏⏹♎☎♓✆
♦=♦/♓
♏●♦♏:
♓+=1
P❒♓⏹♦⌧,'=','✉'.j☐♓⏹☎❍♋☐☎♦♦❒,❒♏♦◆●♦✆✆
2)P⍓♦♒☐⏹2.7.8代码
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋⏹♓⏹♦♏♑♏❒●♏♦♦♦♒♋⏹1000:
'✆
♦=⌧
♓=2
❒♏♦◆●♦=☯]
♦♒♓●♏❆❒◆♏:
♓♐♦==1:
♌❒♏♋k
♓♐♦%♓==0:
❒♏♦◆●♦.♋☐☐♏⏹♎☎♓✆
♦=♦/♓
♏●♦♏:
♓+=1
☐❒♓⏹♦⌧,'=','✉'.j☐♓⏹☎❍♋☐☎♦♦❒,❒♏♦◆●♦✆✆
3.6编写程序,至少使用2种不同的方法计算100以内所有奇数的和。
答:
P⍓♦♒☐⏹3.4.2代码如下,如果使用P⍓♦♒☐⏹2.7.8只需要把其中的☐❒♓⏹♦☎✆函数改为☐❒♓⏹♦语句即可。
⌧=☯♓♐☐❒♓♓⏹❒♋⏹♑♏☎1,100✆♓♐♓%2==1]
☐❒♓⏹♦☎♦◆❍☎⌧✆✆
☐❒♓⏹♦☎♦◆❍☎❒♋⏹♑♏☎1,100✆☯:
:
2]✆✆
3.7编写程序,实现分段函数计算,如下表所示。
⌧
⍓
⌧<0
0
0<=⌧<5
⌧
5<=⌧<10
3⌧-5
10<=⌧<20
0.5⌧-2
20<=⌧
0
答:
P⍓♦♒☐⏹3.4.2代码如下,如果使用P⍓♦♒☐⏹2.7.8只需要把其中的☐❒♓⏹♦☎✆函数改为☐❒♓⏹♦语句即可。
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦⌧:
'✆
⌧=♏v♋●☎⌧✆
♓♐⌧<0☐❒⌧>=20:
☐❒♓⏹♦☎0✆
♏●♓♐0<=⌧<5:
☐❒♓⏹♦☎⌧✆
♏●♓♐5<=⌧<10:
☐❒♓⏹♦☎3✉⌧-5✆
♏●♓♐10<=⌧<20:
☐❒♓⏹♦☎0.5✉⌧-2✆
第4章字符串与正则表达式
4.1假设有一段英文,其中有单独的字母❽✋❾误写为❽♓❾,请编写程序进行纠正。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
1)不使用正则表达式
⌧=✂♓♋❍♋♦♏♋♍♒♏❒,♓♋❍❍♋⏹,♋⏹♎♓♋❍38⍓♏♋❒♦☐●♎.✋♋❍⏹☐♦♋♌◆♦♓⏹♏♦♦❍♋⏹.✂
⌧=⌧.❒♏☐●♋♍♏☎'♓','✋'✆
⌧=⌧.❒♏☐●♋♍♏☎'♓','✋'✆
☐❒♓⏹♦☎⌧✆
2)使用正则表达式
⌧=✂♓♋❍♋♦♏♋♍♒♏❒,♓♋❍❍♋⏹,♋⏹♎♓♋❍38⍓♏♋❒♦☐●♎.✋♋❍⏹☐♦♋♌◆♦♓⏹♏♦♦❍♋⏹.✂
♓❍☐☐❒♦❒♏
☐♋♦♦♏❒⏹=❒♏.♍☐❍☐♓●♏☎❒'☎✍:
☯♈\♦]|\♌✆♓☎✍:
☯♈\♦]✆'✆
♦♒♓●♏❆❒◆♏:
❒♏♦◆●♦=☐♋♦♦♏❒⏹.♦♏♋❒♍♒☎⌧✆
♓♐❒♏♦◆●♦:
♓♐❒♏♦◆●♦.♦♦♋❒♦☎0✆✐=0:
⌧=⌧☯:
❒♏♦◆●♦.♦♦♋❒♦☎0✆+1]+'✋'+⌧☯❒♏♦◆●♦.♏⏹♎☎0✆-1:
]
♏●♦♏:
⌧=⌧☯:
❒♏♦◆●♦.♦♦♋❒♦☎0✆]+'✋'+⌧☯❒♏♦◆●♦.♏⏹♎☎0✆-1:
]
♏●♦♏:
♌❒♏♋k
☐❒♓⏹♦☎⌧✆
4.2假设有一段英文,其中有单词中间的字母❽♓❾误写为❽✋❾,请编写程序进行纠正。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♓❍☐☐❒♦❒♏
⌧=✂✋♋❍♋♦♏♋♍♒♏❒,✋♋❍❍♋⏹,♋⏹♎✋♋❍38⍓♏♋❒♦☐●♎.✋♋❍⏹☐♦♋♌◆♦✋⏹♏♦♦❍♋⏹.✂
☐❒♓⏹♦☎⌧✆
☐♋♦♦♏❒⏹=❒♏.♍☐❍☐♓●♏☎❒'☎✍:
☯\♦]✆✋☎✍:
☯\♦]✆'✆
♦♒♓●♏❆❒◆♏:
❒♏♦◆●♦=☐♋♦♦♏❒⏹.♦♏♋❒♍♒☎⌧✆
♓♐❒♏♦◆●♦:
♓♐❒♏♦◆●♦.♦♦♋❒♦☎0✆✐=0:
⌧=⌧☯:
❒♏♦◆●♦.♦♦♋❒♦☎0✆+1]+'♓'+⌧☯❒♏♦◆●♦.♏⏹♎☎0✆-1:
]
♏●♦♏:
⌧=⌧☯:
❒♏♦◆●♦.♦♦♋❒♦☎0✆]+'♓'+⌧☯❒♏♦◆●♦.♏⏹♎☎0✆-1:
]
♏●♦♏:
♌❒♏♋k
☐❒♓⏹♦☎⌧✆
4.3有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。
例如文本内容为❽❆♒♓♦♓♦♓♦♋♎♏♦k.❾,程序输出为❽❆♒♓♦♓♦♋♎♏♦k.❾
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
1)方法一
♓❍☐☐❒♦❒♏
⌧='❆♒♓♦♓♦♋♋♎♏♦k.'
☐♋♦♦♏❒⏹=❒♏.♍☐❍☐♓●♏☎❒'\♌☎\♦+✆☎\♦+\1✆{1,❝\♌'✆
❍♋♦♍♒R♏♦◆●♦=☐♋♦♦♏❒⏹.♦♏♋❒♍♒☎⌧✆
⌧=☐♋♦♦♏❒⏹.♦◆♌☎❍♋♦♍♒R♏♦◆●♦.♑❒☐◆☐☎1✆,⌧✆
☐❒♓⏹♦☎⌧✆
2)方法二
⌧='❆♒♓♦♓♦♋♋♎♏♦k.'
☐♋♦♦♏❒⏹=❒♏.♍☐❍☐♓●♏☎❒'☎✍P<♐>\♌\♦+\♌✆\♦☎✍P=♐✆'✆
❍♋♦♍♒R♏♦◆●♦=☐♋♦♦♏❒⏹.♦♏♋❒♍♒☎⌧✆
⌧=⌧.❒♏☐●♋♍♏☎❍♋♦♍♒R♏♦◆●♦.♑❒☐◆☐☎0✆,❍♋♦♍♒R♏♦◆●♦.♑❒☐◆☐☎1✆✆
4.4简单解释P⍓♦♒☐⏹的字符串驻留机制。
答:
P⍓♦♒☐⏹支持字符串驻留机制,即:
对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。
这一点不适用于长字符串,即长字符串不遵守驻留机制,下面的代码演示了短字符串和长字符串在这方面的区别。
>>>♋='1234'
>>>♌='1234'
>>>♓♎☎♋✆==♓♎☎♌✆
❆❒◆♏
>>>♋='1234'✉50
>>>♌='1234'✉50
>>>♓♎☎♋✆==♓♎☎♌✆
☞♋●♦♏
4.5编写程序,用户输入一段英文,然后输出这段英文中所有长度为3个字母的单词。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♓❍☐☐❒♦❒♏
⌧=♓⏹☐◆♦☎'P●♏♋♦♏♓⏹☐◆♦♋♦♦❒♓⏹♑:
'✆
☐♋♦♦♏❒⏹=❒♏.♍☐❍☐♓●♏☎❒'\♌☯♋-z✌-☪]{3❝\♌'✆
☐❒♓⏹♦☎☐♋♦♦♏❒⏹.♐♓⏹♎♋●●☎⌧✆✆
第5章函数设计与使用
5.1运行5.3.1小节最后的示例代码,查看结果并分析原因。
答:
原因是对于函数的默认值参数只会被处理一次,下次再调用函数并且不为默认值参数赋值时会继续使用上一次的结果,对于列表这样的结构,如果调用函数时为默认值参数的列表插入或删除了元素,将会得到保留,从而影响下一次调用。
5.2编写函数,判断一个整数是否为素数,并编写主程序调用该函数。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♓❍☐☐❒♦❍♋♦♒
♎♏♐✋♦P❒♓❍♏☎v✆:
⏹=♓⏹♦☎❍♋♦♒.♦❑❒♦☎v✆+1✆
♐☐❒♓♓⏹❒♋⏹♑♏☎2,⏹✆:
♓♐v%♓==0:
❒♏♦◆❒⏹'☠☐'
♏●♦♏:
❒♏♦◆❒⏹'✡♏♦'
☐❒♓⏹♦☎✋♦P❒♓❍♏☎37✆✆
☐❒♓⏹♦☎✋♦P❒♓❍♏☎60✆✆
☐❒♓⏹♦☎✋♦P❒♓❍♏☎113✆✆
5.3编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♎♏♐♎♏❍☐☎v✆:
♍♋☐♓♦♋●=●♓♦♦●♏=♎♓♑♓♦=☐♦♒♏❒=0
♐☐❒♓♓⏹v:
♓♐'✌'<=♓<='☪':
♍♋☐♓♦♋●+=1
♏●♓♐'♋'<=♓<='z':
●♓♦♦●♏+=1
♏●♓♐'0'<=♓<='9':
♎♓♑♓♦+=1
♏●♦♏:
☐♦♒♏❒+=1
❒♏♦◆❒⏹☎♍♋☐♓♦♋●,●♓♦♦●♏,♎♓♑♓♦,☐♦♒♏❒✆
⌧='♍♋☐♓♦♋●=●♓♦♦●♏=♎♓♑♓♦=☐♦♒♏❒=0'
☐❒♓⏹♦☎♎♏❍☐☎⌧✆✆
5.4在P⍓♦♒☐⏹程序中,局部变量会隐藏同名的全局变量吗?
请编写代码进行验证。
答案:
会。
>>>♎♏♐♎♏❍☐☎✆:
♋=3
☐❒♓⏹♦♋
>>>♋=5
>>>♎♏❍☐☎✆
3
>>>♋
5
5.5编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♎♏♐♎♏❍☐☎✉v✆:
☐❒♓⏹♦☎v✆
☐❒♓⏹♦☎❍♋⌧☎v✆✆
☐❒♓⏹♦☎♦◆❍☎v✆✆
♎♏❍☐☎1,2,3✆
♎♏❍☐☎1,2,3,4✆
♎♏❍☐☎1,2,3,4,5✆
5.6编写函数,模拟内置函数♦◆❍☎✆。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♎♏♐S◆❍☎v✆:
♦=0
♐☐❒♓♓⏹v:
♦+=♓
❒♏♦◆❒⏹♦
⌧=☯1,2,3,4,5]
☐❒♓⏹♦☎S◆❍☎⌧✆✆
⌧=☎1,2,3,4,5✆
☐❒♓⏹♦☎S◆❍☎⌧✆✆
5.7编写函数,模拟内置函数♦☐❒♦♏♎☎✆。
答:
这里给出P⍓♦♒☐⏹3.4.2代码,如果使用P⍓♦♒☐⏹2.7.8的话只需要修改其中的☐❒♓⏹♦☎✆函数为☐❒♓⏹♦语句即可。
♎♏♐S☐❒♦♏♎☎v✆:
♦=v☯:
:
]
❒=☯]
♦♒♓●♏♦:
♦♦=❍♓⏹☎♦✆
❒.♋☐☐♏⏹♎☎♦♦✆
♦.❒♏❍☐v♏☎♦♦✆
❒♏♦◆❒⏹❒
⌧=☯1,3,5,2,1,0,9,7]
☐❒♓⏹♦☎⌧✆
☐❒♓⏹♦☎S☐❒♦♏♎☎⌧✆✆
第6章面向对象程序设计
6.1继承6.5节例2中的P♏❒♦☐⏹类生成S♦◆♎♏⏹♦类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。
答:
P⍓♦♒☐⏹3.4.2代码为
♓❍☐☐❒♦♦⍓☐♏♦
♍●♋♦♦P♏❒♦☐⏹☎☐♌j♏♍♦✆:
✁基类必须继承于☐♌j♏♍♦,否则在派生类中将无法使用♦◆☐♏❒☎✆函数
♎♏♐♉♉♓⏹♓♦♉♉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计方案 Python 程序设计 方案 习题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)