一 . 实验目的:
1. 知道Python中组合数据类型字符串(str)、列表(list)、元组(tuple)、集合(set)、字典的表示、特性
2. 能够正确、熟练使用字符串(str)、列表(list)、元组(tuple)、集合(set)、字典的常用操作
3. 针对具体问题场景,能够灵活、组合使用多种数据类型,应用或设计算法,使用控制语句编程解决实际问题
二 . 实验内容
1.试验任务1:
在Python开发环境下,输入并运行以下代码。重复运行几次,观察结果,回答问题。
task1.py
源代码:
import random
print('用列表存储随机整数')
lst = [random.randint(0,100) for i in range (5)]
print(lst)
print('\n用集合存储随机整数')
s1 = {random.randint(0,100) for i in range(5)}
print(s1)
print('\用集合存储随机整数:')
s2 = set()
while len(s2) <5:
s2.add(random.randint(0,100))
print(s2)
问题1:random.randint(0,100)生成的随机整数范围是?能否取到100?
答:随机数的范围是0 <=s<=100,并且能够取到100
问题2:利用list(range(5))生成的有序序列范围是?是否包括5?
答:范围是0<=s<5,不包括5
利用list(range(1,5))生成的有序序列范围是?是否包括5?
答:范围是1<=s<5,不包括5
问题3:使用line8代码生成的集合s1,len(s1)一定是5吗?如果不是,请解释原因。
答不一定是5
问题4:使用line12- 14生成的集合s2,len(s2)一定是5吗?如果不是,请解释原因。
答:len(s2)一定是5
试验任务2:
对字符串、列表、元组、集合、字典进行遍历,获取每一个数据项,是数据处理的基础。
task2_1.py:
实验源码:
'列表遍历
lst = [55, 92, 88, 79, 96]
# 遍历方式1: 使用while + 索引
i = 0
while i < len(lst):
print(lst[i], end = ' ')
i += 1
print()
# 遍历方式2:使用for + 索引
for i in range(len(lst)):
print(lst[i], end = ' ')
print()
# 遍历方式3: 使用for...in
for i in lst:
print(i , end = ' ')
print()
实验截图:
task2_2.py:
# 字典遍历 book_info = {'isbn': '978-7-5356-8297-0', '书名': '白鲸记', '作者': '克里斯多夫.夏布特', '译者': '高文婧', '出版社': '湖南美术出版社', '售价': 82 } # 遍历key-value对:实现方式1 for key, value in book_info.items(): print(f'{key}: {value}') print() # 遍历key-value对:实现方式2 for item in book_info.items(): print(f'{item[0]}: {item[1]}') print() # 遍历值:实现方式1 for value in book_info.values(): print(value, end = ' ') print() # 遍历值: 实现方式2 for key in book_info.keys(): print(book_info[key], end = ' ')
![复制代码](https://common.cnblogs.com/images/copycode.gif)
task 2_3
book_infos = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'}, {'书名': '局外人', '作者': '阿尔贝.加缪'}, {'书名': '设计中的设计', '作者': '原研哉'}, {'书名': '万历十五年', '作者': '黄仁宇'}, {'书名': '刀锋', '作者': '毛姆'} ] n=1 for i in book_infos: print(n,'.''《'+i['书名']+'》',i['作者']) n=n+1
![](/i/l/?n=23&i=blog/3128869/202304/3128869-20230425191158911-390301158.png)
task3
task4_
title='专业学号信息' print(title.center(50,'-')) code_majors={8326:'地信类',8329:'计算机类',8330:'气科类',8336:'防灾工程',8345:'海洋科学',8382:'气象工程'} for key,value in code_majors.items(): print(f'{key}:{value}') while True: id = input('请输入学号:') if id=='#': print('查询结束...') break major = int(id[4:8]) if major in code_majors.keys(): print(f'专业是:{code_majors[major]}') else: print('不在这些专业中...')
![](/i/l/?n=23&i=blog/3128869/202304/3128869-20230425191524441-1464450628.png)
task5
import random xO = random.randint(1,31) print('猜猜2023年5月哪一天是你的lucky day 标签:语句,count,product,编程,数据类型,cart,products,print,id From: https://www.cnblogs.com/fddzz2004/p/17332809.html