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

实验报告二 Python序列结构

二、实验目的

  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. 编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。

图片描述

a = { 'name':'','id':'','college':'','major':''}
print(a)
copy
  1. 编写程序,用一个变量存储你所在小组的组员名单。

图片描述

b = ['lisa','rita','ruby','winnie']
print(b)
copy
  1. 对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。

图片描述

b = ['lisa','rita','ruby','winnie']
print(b)

#删除
b.remove('lisa')
print(b)

#增加
b.append('cindy')
print(b)

#修改
b[2]='rose'
print(b)
copy
  1. 编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。

图片描述

b = ['lisa','rita','ruby','winnie']
print(b)

a = set(b)
print(a)
copy
  1. 编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。

图片描述

a = {'x':7,'y':5,'z':9}

to_p = len(a)
print("总人数为:",to_p)

to_s = sum(a.values())
print("总分为:",to_s)

ave = to_s/to_p
print("平均分为:",ave)
copy
  1. 编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩。

图片描述

a = [69,52,99,77,43,97]

print([i for i in a if i<60])
copy
  1. 产生两个随机数x,y,要求0<x<y<组员长度.输出组员成绩[x:y]切片的成绩。

图片描述

score = [68,98,54,39,65,76]
import random
y = int(random.randint(0,len(score)))
x = int(random.randint(0,y))
print(score[x:y])
copy
  1. 利用生成器表达式生成0-9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。

图片描述

g = ((i*2) for i in range(10))
print(list(g))
copy
  1. 复制一段文章或者论文,利用字典统计出每个字出现的次数。

图片描述

a = {}
str = '棋盘一共64个小格子,第一个格子放一粒米,第二个2粒米,第三个4粒米,第四个8粒米,以此类推一直把64个格子放满需要多少粒米?要求使用列表推导式和内置函数进行计算。'
for x in str:
    if x in a :
        a[x] += 1
    else:
        a[x] = 1
print(a)
copy
  1. 棋盘一共64个小格子,第一个格子放一粒米,第二个2粒米,第三个4粒米,第四个8粒米,以此类推一直把64个格子放满需要多少粒米?要求使用列表推导式和内置函数进行计算。

图片描述

g = ((2**(i-1)) for i in range(1,64))
print(sum(g))
copy

五、实验小结

最新评论
暂无评论~