学院  信息工程工程学院                      班级    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小时内删除。