第4题,最终输出形式是集合。
姓名:郭家义 班级:22-6班
1.编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。 2.编写程序,用一个变量存储你所在小组的组员名单。 3.对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。 4.编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。 5.编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。 6.编写程序,用一个变量存储组员成绩,要求有低于6060的成绩,利用列表推导式,筛选出低于6060分的成绩。 7.编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。 8.利用生成器表达式生成0~9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。 9.给定一个列表member0 = ["今天","天气","真好"],要求通过insert()insert()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]。 10.现有一购物车列表如下:
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
要求通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
class student:#创建学生类
def __init__(self, num, name, academy, major):#定义初始化函数
self.num = num
self.name = name
self.academy = academy
self.major = major
s1 = student("0001", "zhangsan", "软件学院", "软件工程")#定义学生s1,输入学生信息
print(s1.num+":"+s1.name+" "+s1.academy+" "+s1.major)
copy
class student:#创建学生类
def __init__(self, num, name, academy, major):#定义初始化函数,每个函数第一个函数都是self
self.num = num
self.name = name
self.academy = academy
self.major = major
class group:#创建类group
def __init__(self):
self.member = []
def add_member(self, *args):
for s in args:#args(元组)可以接受任意多的函数
st = student(s.num, s.name, s.academy, s.major)
self.member.append(st)
s1 = student("0001", "zhangsan", "软件学院", "软件工程")
s2 = student("0002", "lisi", "软件学院", "软件工程")
s3 = student("0003", "wangwu", "软件学院", "软件工程")
group_list = group()#创建列表
group_list.add_member(s1, s2, s3)
for m in group_list.member:#列表索引
print(m.num+":"+m.name+" "+m.academy+" "+m.major)#输出学生名单信息
copy
class student:#创建学生类
def __init__(self, num, name, academy, major):#定义初始化函数,每个函数第一个函数都是self
self.num = num
self.name = name
self.academy = academy
self.major = major
class group:#创建类group
def __init__(self):
self.member = []
def add_member(self, *args):
for s in args:#args(元组)可以接受任意多的函数
st = student(s.num, s.name, s.academy, s.major)
self.member.append(st)
def alter_name(self,position,name):#定义position参数
self.member[position-1].name = name
s1 = student("0001", "zhangsan", "软件学院", "软件工程")
s2 = student("0002", "lisi", "软件学院", "软件工程")
s3 = student("0003", "wangwu", "软件学院", "软件工程")
group_list = group()
group_list.add_member(s1, s2, s3)
s4 = student("0004","zhaoliu","软件学院","软件工程")
group_list.add_member(s4)
group_list.alter_name(position=1,name="new zhangsan")#修改第一位同学的姓名
for m in group_list.member:#列表索引
print(m.num+":"+m.name+" "+m.academy+" "+m.major)#输出学生名单信息
copy
name_list = input("请输入小组成员的姓氏:")
name_set = set(name_list.split(" "))
print("小组成员的姓氏有:")
for name in name_set:
print(name, end=" ")
copy
name = {"zhangsan","lisi","wangwu"}
grade = {80,90,95}
s = dict(zip(name,grade))#创建dict,用zip将元素打包
print("组员总人数:",len(s))
print("总分:",sum(s.values()))
print("平均分: %0.2f" %(sum(s.values())/len(s)))
copy
name = {"zhagnsan", "lisi", "wagnwu"}
grade = {50, 70, 80}
s = dict(zip(name,grade))
grade = list(s.values())#列表推导式
grade1 = [ i for i in grade if i<60]
print("低于六十分的成绩有:",grade1)
copy
values = [123,'hello',(1,2),456,{23},{'a':789}]
print("列表中的整数有:" ,[i for i in values if type(i)==int])#type()校验数据类型
copy
iterator = (i*3 for i in range(10))#创建生成器
to_list = []#转换成列表
for num in iterator:
to_list.append(num)
print(to_list)#输出列表结果
copy
member0 = ["今天","天气","真好"]
,要求通过insert()inser**t()方法和切片两种方案,把列表member0
变成member1 = ["今天","的","天气","是","真好","呀"]
。member0 = ["今天","天气","真好"]
member0.insert(1,"的")
member0.insert(3,"是")
member0.insert(5,"呀")
member1 = member0
member0[1:1] = "的"
member0[3:3] = "是"
member0[5:5] = "呀"
member1 = member0
print(member1)
copy
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy
carts = [ #购物车列表
{"name":"床", "price":1999, "num":1},
{"name": "枕头", "price": 10, "num": 2},
{"name":"被子", "price":20, "num":1}
]
money = int(input("请输入您的总资产:"))
print (carts)#显示购物车列表
total_money = (1999*1+10*2+20*1)
if total_money>money:#计算是否可以购买
print("账户余额不足")
else:
print("购买成功")
copy
问题与解决办法:
1.编译出错,提示SyntaxError: invalid syntax. Perhaps you forgot a comma?
解决办法:语法有错,在写列表时,列表之间忘使用了逗号
2.问题:不能熟练使用切片的方法
解决办法:在查询资料后,进一步掌握了切片的使用方法
3.问题:在编译过程中,容易将中英文输入法没进行调整
心得体会:
1.在写代码时,要经行注释,便于他人理解,也便于自己查找错误。
2.在写代码时,一定要注意区分中英文。
3.在遇到不懂的问题时,先独立思考后,再去查找相关资料以及询问同学老师。
学习时间 66分钟
操作时间 2分钟
按键次数 8次
实验次数 6次
报告字数 6865字
是否完成 完成