当前位置: 首页 > news >正文

python小题库(三)

大家好呀,今天继续更新python小题库。

题11:实现学生成绩排序

# 问题:实现学生成绩排序
# 如学生的成绩是字典形式
students = [{"sno": 101, "sname": "小张", "sgrade": 88},{"sno": 102, "sname": "小王", "sgrade": 99},{"sno": 103, "sname": "小李", "sgrade": 77},{"sno": 104, "sname": "小赵", "sgrade": 66},
]students_sorted = sorted(students, key=lambda x : x["sgrade"])
students_sorted1 = sorted(students, key=lambda x : x["sgrade"], reverse=True)
students_sorted2 = sorted(students, key=lambda x : x["sgrade"], reverse=False)
print(students_sorted, '\n', students_sorted1, '\n', students_sorted2)# 思考,sorted对字典排序的逻辑是什么,lambda函数是什么用途

题12:还是借鉴成绩排序,读取txt文件内容进行排序输出

# 题目:还是借鉴成绩排序,读取txt文件内容进行排序输出
# 输入文件:# 三列:学号,姓名,成绩# 列之间用逗号分割,比如“101,小张,88”# 行之间用/n换行分割
# 处理:# 读取文件,按成绩倒序排序
# 输出:# 排序后的三列数据
def read_file():grade_li = []with open("./students_grade_input.txt") as f:  # 思考with open的用法for line in f:line = line[:-1]  # 这一行是干啥的grade_li.append(line.split(","))   # splite函数的作用return grade_lidef grade_sorted(datas):return sorted(datas, key=lambda x: int(x[2]),reverse=True)def write_file(datas):with open("./student_grade_output.txt", "w") as f:for data in datas:f.write(",".join(data)+'\n')# 读取文件
datas = read_file()
# 数据排序
datas = grade_sorted(datas)
# 写出文件
write_file(datas)

题13:统计学生成绩高分低分平均分

# 题目,统计学生成绩高分低分平均分
# 输入文件:# 三列:学号,姓名,成绩# 列之间用逗号分割,比如“101,小张,88”# 行之间用/n换行分割
# 输出:最高分,最低分,平均分
def compute_score():grade_li = []with open("./students_grade_input.txt") as f:  # 思考with open的用法for line in f:line = line[:-1]fields = line.split(",")grade_li.append(int(fields[-1])) max_score = max(grade_li)min_score = min(grade_li)avg_score = round(sum(grade_li)/len(grade_li), 2)  # round函数作用return max_score, min_score, avg_score  
max_score, min_score, avg_score = compute_score()
print(f"max_score={max_score}, min_score={min_score}, avg_score={avg_score}")

题14:统计英文文章中出现最多的单词

# 题目:统计英文文章中出现最多的单词
word_count = {}
with open("./paper.txt") as f:for line in f:line = line[:-1]words = line.split()for word in words:if word not in word_count:word_count[word] = 0word_count[word] += 1print(sorted(word_count.items(),key = lambda x: x[1],reverse=True)[:10] # [:10]什么作用
)

题15:统计目录下的文件大小

# 题目:统计目录下的文件大小
import os
# 统计单个文件
print(os.path.getsize("./Augmentation for small object detection.pdf"))
# 统计所有文件
sum_size = 0
for file in os.listdir("."):if os.path.isfile(file):sum_size += os.path.getsize(file)
print("all size of dir:", sum_size/1000)# 扩展,上面提到了打开文件,这里扩展一些文件路径的获取方法
"""
print(“获取当前文件路径——” + os.path.realpath(file)) # 获取当前文件路径parent = os.path.dirname(os.path.realpath(file))
print(“获取其父目录——” + parent) # 从当前文件路径中获取目录garder = os.path.dirname(parent)
print(“获取父目录的父目录——” + garder)
print(“获取文件名” + os.path.basename(os.path.realpath(file))) # 获取文件名
当前文件的路径
pwd = os.getcwd()
print(“当前运行文件路径” + pwd)当前文件的父路径
father_path = os.path.abspath(os.path.dirname(pwd) + os.path.sep + “.”)
print(“运行文件父路径” + father_path)当前文件的前两级目录
grader_father = os.path.abspath(os.path.dirname(pwd) + os.path.sep + “…”)
print(“运行文件父路径的父路径” + grader_father)
"""

喜欢的请多点赞收藏哦,如有不懂的也可以评论区问,未经允许不得转载,谢谢

http://www.lryc.cn/news/161819.html

相关文章:

  • 【前端设计模式】之单例模式
  • Linux——(第六章)常用指令(一)
  • 第19章_瑞萨MCU零基础入门系列教程之RTC
  • 6、Spring之依赖注入源码解析(上)
  • vscode各种配置的方法
  • 每天几道面试题(第一天)
  • [paddle]paddlepaddle官方安装命令合集
  • 使用JS实现一个简单的观察者模式(Observer)
  • 智能井盖传感器:高效守护城市道路安全
  • pycharm创建py文件时自动添加基础信息--模板
  • Notpad++常用正则表达式替换案例集锦
  • DGA行为转变引发了对网络安全的担忧
  • 微信小程序开发---页面导航
  • torch.nn中的L1Loss和MSELoss
  • Speech | 语音处理,分割一段音频(python)
  • 【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历)
  • 【C++笔记】C++string类模拟实现
  • 操作系统之课后习题——引论
  • 【PHP代码审计】反序列化漏洞实战
  • Socks5 与 HTTP 代理在网络安全中的应用
  • 进阶C语言-指针的进阶(中)
  • 保姆级-微信小程序开发教程
  • 数据库-DQL
  • 19 螺旋矩阵
  • 数据结构与算法:概述
  • 顺序表详解
  • 基于RabbitMQ的模拟消息队列之六——网络通信设计
  • 算法:数组中的最大差值---“打擂台法“
  • 三种方式查看 JVM 垃圾收集器
  • React中函数式组件与类组件有何不同?