当前位置:首页>python>Python编程题:12.P3954 [NOIP 2017 普及组] 成绩

Python编程题:12.P3954 [NOIP 2017 普及组] 成绩

  • 2026-09-10 15:28:58
Python编程题:12.P3954 [NOIP 2017 普及组] 成绩

点击蓝字 关注我们

今天要做的是来自洛谷网站的P3954 [NOIP 2017 普及组] 成绩。

https://www.luogu.com.cn/problem/P3954

有账号的可以上去做做。

P3954 [NOIP 2017 普及组] 成绩

题目描述

牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:

总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%

牛牛想知道,这门课程自己最终能得到多少分。

输入格式

三个非负整数 A,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。

输出格式

一个整数,即牛牛这门课程的总成绩,满分也是 100 分。

输入输出样例

说明/提示

样例 1 说明

牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成绩是 100×20%+100×30%+80×50%=20+30+40=90。

样例 2 说明

牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是 60×20%+90×30%+80×50%=12+27+40=79。

数据说明

对于 30% 的数据,A=B=0。

对于另外 30% 的数据,A=B=100。

对于 100% 的数据,0≤A,B,C≤100 且 A,B,C 都是 10 的整数倍。

解题思路

本题已说明输入的三个成绩都是10的倍数,也就确保了结果都是整数。因此结果可以直接输出。具体步骤如下

  • 输入得到三个成绩A、B、C。

  • 根据题目给的公式进行计算得到结果

  • 直接输出结果。

知识点

  • 字符输入 input() 获取字符串,再用split()进行分割字符串,但要记住得到的都是字符串类型的。由于都是正整数,可以利用map转换格式。

    A,B,C=map(int,input().split())

参考代码及解析

  • A, B, C = map(int, input().split())读取作业、小测、期末三项分数

  • A * 0.2 + B * 0.3 + C * 0.5:计算总成绩

  • int转换成整数并输出。

如果你觉得意犹未尽,那就趁热打铁,继续挑战一下吧!

学生有五次测验,去掉一个最高分、一个最低分,剩下三次求平均分,保留 1 位小数输出。

最新文章

随机文章