学院 信息工程工程学院 班级 18软件工程专升本
课程名称 Python程序设计 学号 1803120006 姓名 郭 航
日 期 2018/12/06 实验成绩 指导教师 刘寒冰
实验五 Python组合数据类型
一、实验目的
(1)理解3类基本组合数据类型;
(2)掌握列表的使用;
(3)掌握字典的使用。
二、实 验 内 容
1、随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。(提示:可使用随机函数choice())
2、重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现不止一次,则返回True,但不要改变原来列表的值,同时编写调用这个函数和测试结果的程序。(提示:可以利用集合元素的无重复性)
3、以文件方式练习运行教材173页的实例代码10.1和10.4,观察运行结果,理解代码含义。
4、文本字符分析。编写程序接收字符串,按字符出现频率的降序打印字符。分别尝试录入一些中英文文章片段,比较不同语言之间字符频率的差别。
5、生日驳论分析。生日驳论指如果一个房间里有23人或以上,那么至少有两个人生日相同的概率大于50%。编写程序,输出在不同的随机样本数量下,23人中至少两人生日相同的概率。(提示:一个样本中包括23个人的生日,生日是随机生成的,生日组成只考虑月和日请写出至少5个字符串函数)
三、实 验 步 骤(提交第1和4题的源代码,并写出实验步骤)
实验5.1
(1)打开IDLE编辑器,按快捷键Ctrl+N打开一个新窗口,在新窗口中输入如下代码:
from random import choice
import string
def password():
length=8
chars=string.ascii_letters+string.digits
return "".join((choice(chars)
for i in range(8)))
for i in range(10):
print(password())
(2)保存为文件为“实验5.1.py”
(3)按快捷键F5运行程序,运行结果如下:
实验5.4
(1)打开IDLE编辑器,按快捷键Ctrl+N打开一个新窗口,在新窗口中输入如下代码:
str = input("请输入要分析的字符串,回车表示结束:")
while str != '':
counts = {}
for ch in str:
counts[ch] = (ch,0) + 1
#将字典转换为记录列表
items = list(counts.items())
#以记录第2列排序
items.sort(key= lambda x : x[1],reverse= True)
for i in range(len(items)):
word, count = items[i]
print("{0:<10}{1:>5}".format(word, count))
str = input("请输入要分析的字符串,回车表示结束:")
(2)保存为文件为“实验5.4.py”
(3)按快捷键F5运行程序,运行结果如下:
四、实验小结
通过本章节的学习,了解了3类基本组合数据类型:序列类型、集合类型、映射类型。熟悉了列表和字典的类型、概念和函数。通过“三国演义”出场统计的练习,学会了jieba库的使用。
实验5.4是通过参考仿照课本“Hamlet”练习和百度查询做出,了解了代码的含义,对字典类型和列表类型更加了解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论