此次实验报告格式整洁,逻辑清晰,分析切题,实验报告完整。
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy
要求通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
(在此部分列出保持缩进格式的程序代码及运行结果截图,请注意保持格式统一,截图清晰,大小合适)
#程序名:lx.py
#功 能:编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.7
#思 路:定义一个类student,直接输出
class student:
def __init__(self, num, name, academy, major):
self.num = num
self.name = name
self.academy = academy
self.major = major
s1 = student("13", "李四", "软件学院", "软件工程")
print(s1.num+" "+s1.name+" "+s1.academy+" "+s1.major)
copy
2. 编写程序,用一个变量存储你所在小组的组员名单。
#程序名:lx.py
#功 能:编写程序,用一个变量存储你所在小组的组员名单。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.7
#思 路:定义一个类student,直接输出
class student:
def __init__(self, num, name, academy, major):
self.num = num
self.name = name
self.academy = academy
self.major = major
s1 = student("13", "李四", "软件学院", "软件工程")
s2 = student("12", "张三", "软件学院", "软件工程")
s3 = student("11", "王五", "软件学院", "软件工程")
s4 = student("10", "李二", "软件学院", "软件工程")
print(s1.num+" "+s1.name+" "+s1.academy+" "+s1.major)
print(s2.num+" "+s2.name+" "+s2.academy+" "+s2.major)
print(s3.num+" "+s3.name+" "+s3.academy+" "+s3.major)
print(s4.num+" "+s4.name+" "+s4.academy+" "+s4.major)
copy
3. 对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。
#程序名:lx3.py
#功 能:对组员名单进行操作,如增加一个同学,减少一个同学,修改一个同学的姓名。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.7
#思 路:定义一个类student,直接输出
class student:
def __init__(self, num, name, academy, major):
self.num = num
self.name = name
self.academy = academy
self.major = major
class group:
def __init__(self):
self.member = []
def add_member(self, *args):
for s in args:
st = student(s.num, s.name, s.academy, s.major)
self.member.append(st)
def alter_name(self, position, name):
self.member[position-1].name = name
s1 = student("13", "李四", "软件学院", "软件工程")
s2 = student("12", "张三", "软件学院", "软件工程")
s3 = student("11", "王五", "软件学院", "软件工程")
s4 = student("10", "李二", "软件学院", "软件工程")
group_list = group()
group_list.add_member(s1, s2, s3,s4)
s5 = student("9", "张亦乐", "软件学院", "软件工程")
group_list.add_member(s5)
group_list.alter_name(position=1, name="尹浩洋")
for m in group_list.member:
print(m.num+":"+m.name+" "+m.academy+" "+m.major)
copy
4. 编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。
#程序名:lx4.py
#功 能:编写程序,录入小组成员的姓氏,利用集合输出小组中的所有姓氏。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.8
#思 路:使用input输入小组成员的姓氏,再使用set强制转化成列表
name_list = input("请输入小组成员的姓氏(空格分隔):")
name_set = set(name_list.split(" "))
print("小组成员的姓氏有:")
for name in name_set:
print(name, end=" ")
copy
5. 编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。
#程序名:lx5.py
#功 能:编写程序,用一个变量存储组员名单,组员Python成绩,计算组员总人数,总分,平均分。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.8
#思 路:在grades类中再添加一个student类,在grades类中定义一个add_member,count_member,sum_grade等函数,然后对函数进行运用
class grades:
class student:
def __init__(self, name, grade):
self.name = name
self.grade = grade
def __init__(self):
self.member = []
def add_member(self, *args, **kwargs):
for s in args:
st = self.student(s.name, s.grade)
self.member.append(st)
for key in kwargs:
print(key, kwargs[key])
st = self.student(key, kwargs[key])
self.member.append(st)
def count_number(self):
return len(self.member)
def sum_grade(self):
sum = 0
for m in self.member:
sum += m.grade
return sum
def average_grade(self):
return round(self.sum_grade()/self.count_number(), 1)
group_grades = grades()
group_grades_dic = {"张亦乐": 79, "尹浩洋": 83, "李宜航": 87, "马文祥": 89}
group_grades.add_member(**group_grades_dic)
print("组员总人数:", group_grades.count_number())
print("组员总分:", group_grades.sum_grade())
print("组员平均分:", group_grades.average_grade())
copy
6. 编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩。
#程序名:lx5.py
#功 能:编写程序,用一个变量存储组员成绩,要求有低于60的成绩,利用列表推导式,筛选出低于60分的成绩。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.8
#思 路:在grades类中再添加一个student类,在grades类中定义一个fail函数,在运用一个add_member函数进行任务数据的添加,再运用fail函数对数据进行数据筛选然后对函数进行运用
class grades:
class student:
def __init__(self, name, grade):
self.name = name
self.grade = grade
def __init__(self):
self.member = []
def add_member(self, *args, **kwargs):
for s in args:
st = self.student(s.name, s.grade)
self.member.append(st)
for key in kwargs:
print(key, kwargs[key])
st = self.student(key, kwargs[key])
self.member.append(st)
def fail(self):
return {m.name: m.grade for m in self.member if m.grade < 60}
group_grades = grades()
group_grades_dic = {"张亦乐": 59, "尹浩洋": 83, "李宜航": 87, "马文祥": 89}
group_grades.add_member(**group_grades_dic)
print("低于60分的人:")
failed = group_grades.fail()
for name in failed:
print(name, end=" ")
print(failed[name])
copy
7.编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。
#程序名:lx5.py
#功 能:编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.8
#思 路:使用一个列表推导式,再定义取出的类型为整型,使得其他数被筛出
alist =[123, 'hello', (1,2), 456, {23}, {'a':789}]
list2=[i for i in alist if type(i) ==int]
print(list2)
copy
8. 利用生成器表达式生成0~9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。
#程序名:lx8.py
#功 能:利用生成器表达式生成0~9的数值,要求每一个数值乘以你的幸运数字,最后将生成器对象转换成列表,输出列表的结果。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.10
#思 路:使用生成器表达自动生成0到9的数,在书写时将i乘以13,然后建立一个新的列表,使用append内置函数将数字添加至列表尾部
g = ( i*13 for i in range(10))
list =[]
for num in g:
list.append(num)
print(list)
copy
9. 给定一个列表member0 = ["今天","天气","真好"],要求通过
insert()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]。
#程序名:lx9.py
#功 能:给定一个列表member0 = ["今天","天气","真好"],要求通过insert()方法和切片两种方案,把列表member0变成member1 = ["今天","的","天气","是","真好","呀"]。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.10
#思 路:使用input输入小组成员的姓氏,再使用set强制转化成列表。法2:使用切片将“的”,“是”,“呀”插入到原列表之中
member0 = ["今天","天气","真好"]
member0.insert(1,"的")
member0.insert(3,"是")
member0.insert(5,"呀")
print(member0)
member0 = ["今天","天气","真好"]
member2 = ["的"]
member3 = ["是"]
member4 = ["呀"]
member0[1:1] =member2
member0[3:1] =member3
member0[5:1] =member4
print(member0)
copy
10. 现有一购物车列表如下:
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
copy
要求通过用户输入总资产,例如:30003000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#程序名:lx4.py
#功 能:现有一购物车列表如下:
#carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]要求通过用户输入总资产,例如:3000,然后显示购物车列表,计算购物车商品总金额,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#作 者:张亦乐
#学 号:20222501499
#日 期:2022.3.10
#思 路:将所有的prices与num乘积相加
carts=[{"name":"床", "price":1999, "num":1}, {"name":"枕头", "price":10,"num":2}, {"name":"被子", "price":20, "num":1}]
money = int(input("请输入您的总金额:"))
sum = 0
for i in carts:
sum+= i["price"]*i["num"]
if sum <= money:
print('恭喜你成功购买')
else:
print('账户余额不足')
copy
1.报错信息:TypeError: can only concatenate str (not "int") to str。 解决方法:在使用“+”做拼接的时候,必须使用字符串,或者把数字转换成字符串 2.报错信息:NameError: name 'a' is not defined 解决办法:只需根据报错信息,仔细检查下拼写,很快就能解决 3.报错信息:SyntaxError: invalid syntax 解决办法:当报错的时候,要注意回到错误信息的那一行,然后从下向上,慢慢查找,此处这个程序if语法忘了在判断语句后面加“:”,所以导致出错。 4.报错信息:TabError:inconsistent use of tabs and spaces in indentation 解决办法:在报错的行把鼠标放在第一个字母前,删除空格回到上一行,然后按回车就好了 5.报错信息:NameError: name 'prin' is not defined 解决办法:改一下print的名称就好了
学习时间 0分钟
操作时间 0分钟
按键次数 0次
实验次数 2次
报告字数 9198字
是否完成 未完成