• 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) ÷ 9C 是摄氏温度,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() 是把字符串按照空格分割成几个部分,这里分成三个部分,正好对应三个成绩,然后分别赋值给 abc
  • int(a)int(b)int(c) :因为输入的成绩是整数,所以用 int() 函数把前面获取到的字符串转换成整数类型,这样才能正确进行乘法和加法运算。
  • a * 0.2 + b * 0.3 + c * 0.5 :按照题目给的公式,分别计算作业成绩的 20% 、小测成绩的 30% 、期末成绩的 50% ,然后把这三部分加起来得到总成绩。
  • int(res) :因为题目要求输出整数的总成绩,所以用 int() 函数把计算好的浮点数 res 转换成整数,然后输出。

五、总结

通过这三道题,我们学会了:

  1. input() 获取用户输入,还知道怎么处理输入的内容,转换成需要的类型(浮点数 float() 、整数 int() )。
  2. 按照数学公式进行计算,在 Python 里写数学运算就和我们平时做数学题的思路差不多,注意运算顺序就行。
  3. 用格式化输出(像 "%.12f""%.5f" )按照要求保留小数位数输出结果,以及把结果转换成整数输出。这些知识以后做更多有趣的程序都能用到,要好好记住呀 ,就像记住怎么搭不同形状的积木,这样以后就能搭出更复杂好玩的“程序房子”啦 !

0 条评论

目前还没有评论...