python程序语言设计基础第二版答案,Python程序设计基础(第2版)
P180第六章程序练习题6.1 随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位数的密码。代码示例如下:
导入随机#引入随机库ls= 123456789 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz for I in range(10):for I in range(8):password=random。选择打印( { } ).格式(密码),end=“”)print()6.2 重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现不止一次,返回True,但不要改变原来列表的值。同时调用并输出结果:代码示例如下:
定义重复(ls):对于范围内的I(1,len(ls)):#对每个元素遍历对于范围中的j:#对遍历的元素判断是否出现第二次如果ls[i]==ls[j]:返回真实的返回false repeat _ count=0no _ repeat=0,而True:ls=input(请输入一个(以空格分隔)序列:)result=repeat(ls)print(result)if result==True:repeat _ count=1 elif result==False:no _ repeat=1 print(重复序列为{}次,非重复序列为{}次。格式(重复计数,不重复))
6.3 重复元素判定续。利用集合的数据去重,改上面代码。完整如下:
#方法一:定义重复(ls):#定义一个判断元素函数ls=ls。split( )if len(ls)==len(set(ls)):返回真实#无重复否则:返回错误#重复序列当True:ls=input(时,repeat _ count=0 no _ repeat=0请输入一个(以空格分隔)序列:)result=repeat(ls)print(result)if result==True:repeat _ count=1 elif result==False:no _ repeat=1 print(重复序列为{}次,非重复序列为{}次。格式(重复计数,不重复))6.4 文本字符分析。编写程序接受字符串,按字符串出现频率的降序打印字母。分别尝试输入一些中英文片段,比较不同语言之间字符频率的差别。
#文本字符分析#统计输入的字符串,按字符出现频率并按照降序方式打印字母text=input(请输入一段文本(回车退出):)而文字!=:#如果为空则退出循环d={ } for word in text:d[word]=d . get(word,0) 1 #转为列表类型对其排序ls=list(d . items())ls。sort(key=lambda x:x[1],reverse=True)#以记录第二列排序for i in range(len(ls)): word,count=ls[i] print({0:10}{1:5} .格式(字数,计数))文本=输入(请输入一段文本(回车退出):)6.5生日悖论分析。生日悖论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同随机样本数量下,23个人中至少有两个人生日相同的概率。
def match(students,samples):count=0生日=[]对于范围内的I(samples):生日=生成(students)如果重复(生日):count=1 return count students=23 simulations=100000 count=match(students,simulations)rate=(float(count)/simulations)* 100 print( rate is % f % % % rate)本代码根据输入的模拟,获得的概率,可以看出,概率稳定在0.5附近。
6.5本整齐的枕头没办法理解,这里参考这位朋友的代码,写的挺详细有兴趣可以看看。
点击跳转
6.6 《红楼梦》 人物统计。编写程序统计 《红楼梦》 前20位出场最多的人物。
如需要电子版文档,下拉(已存网盘,自取)…
import jiebatxt=open(红楼梦 txt , r ,编码=utf-8 ).read()单词=jieba。lcut(txt)excludes=[这会子,怎么样,为什么,周瑞家, kldtd笑,悄悄的,大学生,小说网, 电子书,袭人道,2006,长情的水池道, 狂野的御姐,少不得,老婆子,长情的水池笑, 碧蓝的羽毛笑, gxdfg ,可不是, hxdjz ,下回分解,怡红院]counts={ } for word in words:if len(word)==1或len(word)==2:继续else:counts[word]=counts。get(word,0) 1 #计数对于排除项中的单词:del counts[word]items=list(counts。items())项。sort(key=lambda x:x[1],reverse=True)#以降序排序对于范围(15)中的I:word,count=items[I]print( { 0:10 } { 1:5 } ).格式(字数、字数)
(端庄的秀发貌似也是人名哈哈,了解不是很清楚,有兴趣可以看看简介)端庄的秀发也是《红楼梦》
汉字,xhdst的第二个房间,是pydyl带来的雪白海豚的女儿,友好的镜子,撒娇的学长。优雅的头发看起来很美,温柔顺滑。友好的魔镜贪恋大山的美貌,打理着他端庄的头发。他玩累了,就把她给了xhdst。Xhdst害怕xsdxrz的傲慢,所以她不得不偷偷娶了端庄的头发作为她的第二任妻子,并把她放在郭蓉大厦外面。但很快就被xsdxrz发现了,她娴静的头发被她的谋杀计划折磨着。当胎儿被庸医打下后,她吞下黄金,绝望地自杀了。
注意:下载文件时需要注意的问题:
1.把文档放在程序的同一个目录下。
2.文件保存格式的改变:如图所示
链接:https://pan.baidu.com/s/1lYVEZos0B3CMliG1zd7BRQ
提货代码:vcs1
有兴趣可以看看《三国演义》人物统计如下:
导入解霸#全序列版本txt=open(红楼梦. txt , r ,编码= utf-8 )。read () exclusions={ 将军,军马,大喜,次日,领军,话说,荆州谈判,左右,沉默的靴子,世界,吴栋,今日,所以,不敢,一个人,甜刺猬,嘟嘟,男人,我不知道 } # Create返回一个列表类型list,所有单词计数={}#为单词中的单词创建字典计数:IF LEN (Word)==1: continue elif word==天真的哈密瓜 or word==cxdlb: rword=甜蜜的航空 orword==云长:r word=关羽 elif word==虚拟月饼 or word==虚拟月饼:rword=刘备 elif word===彪悍的夏天 or word==谨慎的棉花糖:r word= ggdys else:r word=word counts[r word]=counts . get(r word, 0)1 for word in exclusions:del counts[word]items=list(counts . items())items . sort(key=lambda x:x[1],reverse=true)# sort for I in range(10):word,Count=items[I]print( { 0:10 } { 1:5 } )。 格式(字数,计数))感受分享
感谢大家的辛苦,转载请带链接。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。