python每日一练

news/2025/5/24 2:33:48

题目一

输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次(要求按照每一个不同的数第一次出现的顺序输出)。

解题

错误题解

a = list(map(int,input().split()))
b = []
b.append(a[i])
for i in range(2,11):if a[i] not in b:b.append(a[i])
print(b)

但是会出现i报错, 

 发散思维一下,要做到遍历a列表里的元素的方法还有,尝试一下

for element in list1:
a = list(map(int,input().split()))
b = []
for element in a:if element not in b:b.append(element)
print(b)

 

题目二

输入10个学生5门课的考试成绩,分别用函数实现以下功能:
(1)计算一个学生的平均分;(2)计算每门课程的平均分;(3)找出每门课程的最高分。 

解题

用字典的典型错误,字典中的key唯一,不允许重复

a = {}
for i in range(10):student_name = input()for j in range(5):subject = int(input())a[student_name] = subject
print(a)

 

但是发现这样写,相当于每个键对应的值都在最后一次输入中被更新 ,但是想要一个学生的名字对应五个成绩,可以使用列表,一个键对应一个列表。列表的下标就是对应的科目。

a = {}
for i in range(10):student_name = input()subject = list(map(int,input().split()))a[student_name] = subject
print(a)

 

现在就完成了输入部分的功能,接下来是输出功能的实现 

a = {}for i in range(10):student_name = input()subject = list(map(int, input().split()))a[student_name] = subjectstudent_average = []
for student in a:scores = a[student]average = sum(scores) / len(scores)student_average.append(average)num_subjects = len(next(iter(a.values())))
subject_totals = [0] * num_subjects
for student in a:score_list = a[student]for i in range(num_subjects):subject_totals[i] += score_list[i]
subject_averages = [total / len(a) for total in subject_totals]
print("\n各科目的平均成绩:")
for i, avg in enumerate(subject_averages, start=1):print(f"科目{i}: {avg:.2f}")# 找出每门课程的最高分
course_max_scores = [float('-inf')] * num_subjects
for student in a:score_list = a[student]for i in range(num_subjects):if score_list[i] > course_max_scores[i]:course_max_scores[i] = score_list[i]
print("\n每门课程的最高分:")
for i, max_score in enumerate(course_max_scores, start=1):print(f"科目{i}: {max_score}")


https://dhexx.cn/news/show-5496890.html

相关文章

第七届浙江省大学生网络与信息安全竞赛决赛Unserialize深度解析 1.0

花还会重新开,不同的春来了又来。 - 2025.4.11 0x01 声明 仅作为个人学习使用,仅供参考,欢迎交流 可能是新生赛缘故,突发奇想,想好好梳理此题,顺便写成参考,于是有了这篇文章 当然很多理解可…

记录一次TDSQL网关夯住故障

环境信息: TDSQL-MySQL同城双中心集群,集中式实例,一主三副本,每个中心两个db副本,每个中心一个VIP,V每个IP通过硬件做负载均衡指向该中心两个proxy,操作系统为麒麟v10 arm。 故障描述&#xf…

案例-索引对于并发Insert性能优化测试

前言 最近因业务并发量上升,开发反馈对订单表Insert性能降低。应开发要求对涉及Insert的表进行分析并提供优化方案。   一般对Insert 影响基本都在索引,涉及表已按创建日期做了分区表,索引全部为普通索引未做分区索引。 优化建议: 1、将UNIQUE改为HASH(64) GLOBAL IND…

【Python爬虫】简单案例介绍4

本文继续接着我的上一篇博客【Python爬虫】简单案例介绍3-CSDN博客 目录 3.4 完整代码 3.4 完整代码 此小节给出上述案例的完整代码, # encodingutf-8 import re, json, requests, xlwt, csv import pandas as pd from lxml import etree from bs4 import Beauti…

视觉slam框架从理论到实践-第一节绪论

从opencv的基础实现学习完毕后,接下来依照视觉slam框架从理论到实践(第二版)的路线进行学习,主要以学习笔记的形式进行要点记录。 目录 1.数据里程计 2.后端优化 3.回环检测 4.建图 在视觉SLAM 中整体作业流程可分为&#xff1…

Leetcode——137 260找出只出现一次的数

文章目录 找出只出现一次的数引入Leetcode 260Leetcode 137 找出只出现一次的数 对于数组中有一类题,即某些数据在数组中只出现一遍,需要我们找出,今天我们来看看这个类型的题。 引入 想必大家应该见过这么一道题: 现给定一个数…

【MySQL数据库】InnoDB存储引擎:逻辑存储结构、内存架构、磁盘架构

逻辑存储结构 一个数据库是由一张张表组成的,而表中是由一个个段构成的,一个段是由区构成的,区空间是由页构成的,页是行构成的。 ①表空间:.ibd文件,一个mysql实例可以对应多个表空间,用于存储…

Windows 系统如何使用Redis 服务

前言 在学习过程中,我们长期接触到的是Mysql 关系型数据库,也是够我们平时练习项目用的,但是后面肯定会有大型数据的访问就要借助新的新的工具。 一、什么是Redis Redis(Remote Dictionary Server)是一个基于内存的 键…

MuJoCo 机械臂关节路径规划+轨迹优化+末端轨迹可视化(附代码)

视频讲解: MuJoCo 机械臂关节路径规划轨迹优化末端轨迹可视化(附代码) 今天的实验测试目标就是随机给定两个关节空间位置,使用pyroboplan进行路径规划和轨迹优化, 完整代码仓库:https://github.com/Litchi…

【7】深入学习Buffer缓冲区-Nodejs开发入门

深入学习Buffer缓冲区 前言ASCII码GBK/GB2312UnicodeJavascript转换 BufferBuffer的作用Buffer的创建Buffer.allocBuffer.allocUnsafe(size)Buffer.allocUnsafeSlow(size)Buffer.from(array)Buffer.from(arrayBuffer[, byteOffset[, length]])Buffer.from(buffer)Buffer.from(s…