Python
一、 实验题目
实验三 常用数据结构实验
二、 实验目的
1、掌握列表的定义、索引和切片等操作。
2、了解字典类型的应用场景,掌握字典数据的创建、索引等。
3、了解元组和集合类型的应用场景和操作方法。
三、 实验内容
- 创建一个记录10个学生的成绩列表,依次输出原列表,以及列表中的最高分、最低分并按成绩从高分到低分排列降序输出列表各元素。
- 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- 生成包含20个随机字符的字符串,然后统计每个字符的出现次数。(使用字典保存每个字符出现次数)。
- 利用字典创建一个6人的简易通讯录,要求输入姓名时能够反馈联系电话,当输入姓名有误时,系统提示“您的输入有误,请重新查询:”。最后结合for循环遍历字典,输出所有人的信息。
- 在IDLE中创建两个包含若干滑雪项目组成的集合,如集合A1包含项目为('短道速滑','速度滑冰','花样滑冰','冰球','冰壶') ,集合B1包含项目为('花样滑冰', '冰壶', '冰球','跳台滑雪','高山滑雪','越野滑雪','单板滑雪','自由式滑雪') ,利用集合的运算求出集合C1(由同时在集合A1和集合B1中的元素组成),集合D1(由包含在集合A1和集合B1中的所有元素组成)以及集合F1(由在集合A1但不在集合B1中的元素组成)。
四、 实验环境
1、硬件环境:PC机
2、软件环境:Windows操作系统+Python3.0以上版本
五、 实验代码及结果(程序运行结果请以截屏图给出)
1、源程序代码:
score=[75,56,78,100,88,55,98,45,32,60]
print('成绩如下:')
for i in range(10):
print(score[i])
print('\n')
max=score[0]#最大值
for i in score:
if i> max:
max=i
print('最大值为:',max)
min=score[0]#最小值
for i in score:
if i min=i print('最小值为:',min) print('\n') print('从高到低排序:') score.sort(reverse=True) print(score) 运行结果为:
2、源程序代码: s=input('请输入内容:') letter=0 space=0 digit=0 other=0 for i in s: if i.isalpha():#判断是否是字母 letter+=1 elif i.isspace():#判断是否是空格 space+=1 elif i.isdigit():#判断是否是数字 digit+=1 else: other+=1 print('字母个数为{}\n空格字数为{}\n数字字数为{}\n其他字符为{}\n'.format(letter,space,digit,other)) 运行结果为:
3、源程序代码: import string import random x = string.ascii_letters + string.digits z = ''.join((random.choice(x) for i in range(20))) print(f'随机生成的字符串是:{z}') d = dict() for ch in z: d[ch] = d.get(ch, 0) + 1 for k, v in sorted(d.items()): print('字符:',k, ':', v,'次') 运行结果为:
4、源程序代码: dic = {'张三':'138001','李明':'138002','小王':'138003','佳佳':'138004','小兵':'138005','小玉':'138006'} #创建含有六个键值的字典 name = input('请输入联系人姓名:') if name in dic: print(name,':',dic[name],'\n') else: print('您输入的联系人不存在\n') print('\n') print('遍历字典:') for key in dic: print(key, ":", dic[key]) 运行结果为:
5、源程序代码: A1=set(['短道速滑','速度滑冰','花样滑冰','冰球','冰壶']) B1=set(['花样滑冰', '冰壶', '冰球','跳台滑雪','高山滑雪','越野滑雪','单板滑雪','自由式滑雪']) C1=A1&B1 print("交:",C1) D1=A1|B1 print("并:",D1) F1=A1-B1 print("差:",F1) 运行结果为: