1.给定一个列表 list_1
,里面嵌套了多个列表,请你计算出每个嵌套列表的最大值,并输出所有最大值的平均值。测试数据:[[54, 28, 88, 99, 77],[99, 6, 37, 68, 83],[90, 52, 36, 4, 53],[85, 66, 11, 11, 61],[20, 52, 9, 81, 61],[23, 67, 37, 39, 18],[21, 36, 66, 80, 30],[74, 80, 5, 7, 96],[30, 35, 71, 73, 4],[40, 67, 67, 11, 71]]
list_1 = eval(input())
# Please your code here
max_list = [] #空列表,后续把每个列表的最大值放进去,直接用sum求出列表的和
num = 0 #最大值的数量
for i in list_1: #[54, 28, 88, 99, 77]
max = i[0] #假定最大值是第一位,遍历列表找出最大值
for j in i:
if j > max:
max = j
num += 1
max_list.append(max)
# print(max)
# print(max_list)
# print(num)
sum_list = sum(max_list)
avg = sum_list / num #求平均值
avg_new = '{:.2f}'.format(avg) #保留两位
print(avg_new)
2.给定一个列表 list_1
,里面有且仅有一个数字出现奇数次,其他数均出现偶数次,请你找出这个数字并打印出来
# Get List
list_1 = eval(input())
# Please write your code here
for i in list_1:
if list_1.count(i) % 2 != 0: #lsit.count(),求特定元素出现的次数
print(i)
break #满足条件即可跳出条件
else:
pass
3.设计一个函数 print_avg
,这个函数接收多个关键字参数作为学生的信息,接收多个数字参数作为这个学生多次考试的成绩,请从学生信息中提取出学生的 student_name
,student_age
,然后求出这个学生多次考试的平均成绩 Average
(保留两位小数),返回一个字符串,格式如下:
name: student_name, age: student_age, avg: Average
输入:
关键字参数:
{'student_name': 'Kelsey', 'student_age': 18, 'underline': 'quality', 'heroine': 'hip', 'close': 'sponsor', 'howl': 'loss', 'profitable': 'finite', 'news': 'lonely', 'series': 'abroad', 'bet': 'approve', 'yet': 'button'}
数字参数:
[93, 52, 70, 76, 51, 61, 51, 89, 79, 71]
solution.py:
# Please write your code here
def print_avg(*num,**person):
avg = sum(num) / len(num)
student_name = person['student_name']
student_age = person['student_age']
return f"name: {student_name}, age: {student_age}, avg: {avg:.2f}"
num = [93, 52, 70, 76, 51, 61, 51, 89, 79, 71]
person = {'student_name': 'Kelsey', 'student_age': 18, 'underline': 'quality', 'heroine': 'hip', 'close': 'sponsor', 'howl': 'loss', 'profitable': 'finite', 'news': 'lonely', 'series': 'abroad', 'bet': 'approve', 'yet': 'button'}
print_avg(*num,**person)
4.读写改csv
import csv
file_path = 'data.csv'
name = 'Name'
new_name = 'student_name'
# 写入 CSV 文件
data = [
['Name', 'Age', 'Country'],
['Alice', '25', 'USA'],
['Bob', '30', 'Canada'],
['Charlie', '28', 'UK']
]
def get_write_csv(path:str):
# Please write your code
with open(path,'w',newline='') as f: #写入原始数据
# 使用列表推导式将嵌套列表展开为单层字符串列表
#第一种#适用于字符串列表
# flat_list = [' '.join(row) + '\n' for row in data]
# f.writelines(flat_list)
#第二种#支持二维列表,而且适用于数据量大的情况
writer = csv.writer(f)
writer.writerows(data)
with open(path,'r') as f: #读数据,并且替换Name为students_name
lines=f.readlines() #返回列表
lines[0]=lines[0].replace('Name','students_name')
with open(path,'w') as f: #再把修改后的数据写入
f.writelines(lines)
get_write_csv('data.csv')
下期单独出一版操作csv/excel
标签:name,Day4,list,列表,num,student,avg From: https://blog.51cto.com/u_16383362/9047797