“Python 语言程序设计实验2022春季”实验报告

实验报告二 Python序列结构

实验二 Python序列结构

一、实验学时: 2学时

二、实验目的

1.掌握:Python常用内置对象-列表、元组、字典、集合。 2.掌握运算符和内置函数对列表、元组、字典、集合的操作 3.理解列表推导式、生成器表达式的工作原理 4.掌握切片操作 5.掌握序列解包的用法

三、实验内容

1.编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称

2.编写程序,用一个变量存储你所在小组的组员名单。

3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名

4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏

5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分

6.编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩

7.产生两个随机数x,y,要求0<x<y<组员长度.输出组员成绩[x:y]切片的成绩

8.利用生成器表达式生成0-9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果

9.复制一段文章或者论文,利用字典统计出每个字出现的次数。

10.棋盘一共64个小格子,第一个格子放一粒米,第二个2粒米,第三个4粒米,第四个8粒米,以此类推一直把64个格子放满需要多少粒米?要求使用列表推导式和内置函数进行计算

四、实验结果

(在此部分列出保持缩进格式的程序代码及运行结果截图,请注意保持格式统一,截图清晰,大小合适)

1.编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。

x = input("请分别输入学号,姓名,所在学院,专业名称,中间用,隔开:")
print(x)
copy

图片描述

2.编写程序,用一个变量存储你所在小组的组员名单。

x = input("输入你所在小组的组员名单:")
print(x)
copy

图片描述

3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。

alist = ["赵云", "李星", "娜扎"]
print(alist)
x = input("增加一个同学为:")
alist.append(x)
print(alist)
y = input("删除一个同学为:")
alist.remove(y)
print(alist)
z = input("修改姓名为:")
alist[1] = z
print(alist)
copy

图片描述

4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。

alist = ["曹", "宋", "王", "牛", "李", "马"]
name = set(alist)
print(name)
copy

图片描述

5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。

alist = {"收购": 89, "改革": 76, "健康": 80}
print("小组名单和python成绩为:", alist)
x = len(alist)
print("组员总人数为:", x)
sum = 0
for i in alist.values():
    sum += i
    mean = sum/x
print("总分为:", sum)
print("平均分为:", mean)
copy

图片描述

6.编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩。

print("低于60分的为:",[x for x in alist if x < 60])
copy

图片描述

7.产生两个随机数x,y,要求0<x<y<组员长度.输出组员成绩[x:y]切片的成绩。

import random
X = 10
alist = [23, 54, 85, 87, 23, 86, 98, 35, 65, 63]
m = random.randint(0, X)
n = random.randint(0, X)
print("m:", m, ",", "n:", n)
print(alist[m:n])
copy

图片描述

8.利用生成器表达式生成0-9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。

q = int(input("请输入你的幸运数字:"))
y=[i*q for i in range(10)]
print(y)
copy

图片描述

9.复制一段文章或者论文,利用字典统计出每个字出现的次数。

x = input("请输入文章:")
aDict = {}
for i in x:
    if i != "," and i != " ":
        aDict[i] = aDict.get(i, 0)+1
print("统计后的数字出现为:", aDict)
copy

图片描述

10.棋盘一共64个小格子,第一个格子放一粒米,第二个2粒米,第三个4粒米,第四个8粒米,以此类推一直把64个格子放满需要多少粒米?要求使用列表推导式和内置函数进行计算。

alist = [2**(m-1) for m in range(1,65)]
asum = sum(alist)
print("要米", asum)
copy

图片描述

五、实验小结(包括问题和解决办法、心得体会、意见与建议等) 举例:(一个问题对应一个解决办法,意见与建议可以不写,也可以提出课程的意见和建议)

问题: 1.对列表推导式理解不深刻

2.对字典有些不理解

解决办法: 1.查书,看解释相关用法的视频

2.自己慢慢敲,理解

心得体会: python的学习要多打代码,要多敲,也要预习

最新评论
暂无评论~