欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Day4

最编程 2024-08-10 10:40:03
...

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_namestudent_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