- Python
编程课玩数学!Python 帮牛牛算成绩、转温度、留小数
- 2025-7-5 20:17:31 @
Python 学习笔记(针对这几道题)
一、前言
今天我们通过做三道有趣的题目,来学习 Python 的一些基础用法,像怎么获取输入、怎么进行计算、怎么按照要求输出结果,这些知识就像搭建积木的小零件,学会了就能拼出很多好玩的程序啦 。
二、题目一:保留 12 位小数
(一)题目理解
我们要做的是,让程序读入一个浮点数(就是像 3.1415 这样有小数点的数),然后把它保留 12 位小数输出。比如输入 3.1415926535897932 ,就要输出 3.141592653590 (保留 12 位小数后的结果)。
(二)代码实现及注释
# 第一步:获取用户输入的内容,input() 函数就像一个小喇叭,能听到你在键盘上输入的东西
a = input()
# 第二步:把输入的内容转换成浮点数,因为 input() 拿到的原本是字符串(就像文字),我们需要数字,所以用 float() 转换
a = float(a)
# 第三步:按照保留 12 位小数的格式输出,"%.12f" 就是告诉 Python 要保留 12 位小数输出这个数,%a 就是把前面的 a 填到这个格式里
print("%.12f" % a)
(三)代码解释
input()
:这是 Python 用来获取用户从键盘输入内容的函数,不管你输入数字还是文字,它先拿到的是字符串类型的数据。float(a)
:把字符串类型的a
转换成浮点数类型,这样才能进行数学上的计算或者按照小数的方式处理,要是不转换,可能就没办法正确保留小数啦。"%.12f" % a
:这是 Python 里的格式化输出方式,%.12f
表示要输出一个浮点数,并且保留 12 位小数,%
后面跟着要格式化的变量a
,这样就能把a
按照指定的小数位数输出。
三、题目二:温度表达转化
(一)题目理解
已知华氏温度和摄氏温度的转换公式 C = 5 × (F - 32) ÷ 9
(C
是摄氏温度,F
是华氏温度 ),我们要做的是输入华氏温度 F
,然后按照公式算出摄氏温度 C
,还要精确到小数点后 5 位输出。比如输入 41 (华氏温度),输出就是 5.00000 (对应的摄氏温度)。
(二)代码实现及注释
# 第一步:获取用户输入的华氏温度,用 input() 函数获取
f = input()
# 第二步:把输入的华氏温度转换成浮点数,因为要参与数学计算呀
f = float(f)
# 第三步:按照公式计算摄氏温度,先算括号里的 F - 32 ,再依次乘 5 、除以 9
c = 5 * (f - 32) / 9
# 第四步:按照保留 5 位小数的格式输出结果,"%.5f" 就是指定保留 5 位小数,%c 把计算好的 c 填进去
print("%.5f" % c)
(三)代码解释
input()
和float(f)
:作用和前面题目里的类似,先获取输入的字符串,再转成浮点数,这样才能进行公式里的数学运算。5 * (f - 32) / 9
:严格按照题目给的公式计算摄氏温度,数学运算在 Python 里这样写就可以啦,和我们数学课本上的计算顺序一样,先算括号里的。"%.5f" % c
:和前面保留 12 位小数类似,这里是保留 5 位小数输出计算好的摄氏温度c
。
四、题目三:计算课程总成绩
(一)题目理解
牛牛的课程总成绩是按照 总成绩 = 作业成绩×20% + 小测成绩×30% + 期末考试成绩×50%
来计算的。我们要输入三个成绩(作业、小测、期末 ),然后算出总成绩并输出整数结果。比如输入 100 100 80 ,按照公式算就是 100×20% + 100×30% + 80×50% = 20 + 30 + 40 = 90
,输出 90 。
(二)代码实现及注释
# 第一步:获取用户输入的三个成绩,input().strip().split() 是先去掉输入内容前后可能有的空格,再把内容按空格分成三个部分
a, b, c = input().strip().split()
# 第二步:把这三个成绩都转换成整数,因为成绩是整数呀,用 int() 转换
a = int(a)
b = int(b)
c = int(c)
# 第三步:按照公式计算总成绩,分别算出作业成绩、小测成绩、期末成绩对应的占比分数,再相加
res = a * 0.2 + b * 0.3 + c * 0.5
# 第四步:把计算好的总成绩转换成整数并输出,因为题目要求输出整数结果,用 int() 转换一下
print(int(res))
(三)代码解释
input().strip().split()
:strip()
是去掉输入字符串前后的空白(比如多余的空格、换行符),split()
是把字符串按照空格分割成几个部分,这里分成三个部分,正好对应三个成绩,然后分别赋值给a
、b
、c
。int(a)
、int(b)
、int(c)
:因为输入的成绩是整数,所以用int()
函数把前面获取到的字符串转换成整数类型,这样才能正确进行乘法和加法运算。a * 0.2 + b * 0.3 + c * 0.5
:按照题目给的公式,分别计算作业成绩的 20% 、小测成绩的 30% 、期末成绩的 50% ,然后把这三部分加起来得到总成绩。int(res)
:因为题目要求输出整数的总成绩,所以用int()
函数把计算好的浮点数res
转换成整数,然后输出。
五、总结
通过这三道题,我们学会了:
- 用
input()
获取用户输入,还知道怎么处理输入的内容,转换成需要的类型(浮点数float()
、整数int()
)。 - 按照数学公式进行计算,在 Python 里写数学运算就和我们平时做数学题的思路差不多,注意运算顺序就行。
- 用格式化输出(像
"%.12f"
、"%.5f"
)按照要求保留小数位数输出结果,以及把结果转换成整数输出。这些知识以后做更多有趣的程序都能用到,要好好记住呀 ,就像记住怎么搭不同形状的积木,这样以后就能搭出更复杂好玩的“程序房子”啦 !
0 条评论
目前还没有评论...