第1关:表达式求解 - 垂直上抛小球位置计算
任务描述
本关任务以垂直上抛小球的位置计算为例,关注如何将数学计算公式转换为 Python 表达式并求值。学生需仔细阅读相关知识,找到数学运算符与 Python 数值运算符之间的对应关系,完成编程任务并输出公式计算的结果。
相关知识
为完成本关任务,你需要掌握物理中的竖直上抛运动,以及 Python 中的算术运算符、变量及输出等知识点
竖直上抛运动
竖直上抛运动指物体以某一初速度竖直向上抛出(不考虑空气阻力),只在重力作用下所做的运动。竖直上抛运动是物体具有竖直向上的初速度,加速度始终为重力加速度 g 的匀变速运动,可分为上抛时的匀减速运动和下落时的自由落体运动的两过程。它是初速度为v
0(v0不等于 0 )的匀速直线运动与自由落体运动的合运动,运动过程中上升和下落两过程所用的时间相等,只受重力作用且受力方向与初速度方向相反。
计算公式:

Python 算术运算符
要使用 Python 解决上述计算问题,首先需要掌握在 Python 中如何进行四则运算。在 Python 中,四则运算对应的运算符如下:

此外,Python 幂运算运算符号为**,例如:3 的平方在 Python 中的表示为3**2。
Python 变量
变量的概念基本上和初中代数的方程变量是一致的。只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。变量在程序中用一个变量名表示,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,具体示例如下:

a = 1 #变量a是一个整数
t_007 = 'T007' #变量t_007是一个字符串
Answer = True #变量Answer是一个布尔值True

在 Python 中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
Python 输出
在 Python 中,表示输出的关键字是print,其基本用法是:用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出’hello, world’,用代码实现如下:
print(‘hello, world’)
print()也可以打印整数,或者计算结果。比如输出300,用代码实现如下:
print(300)
编程要求
请根据物理中小球垂直上抛小球的运动规律,编写程序实现计算并输出小球高度的功能。
小球的高度h(m)与小球运动的时间t(s)之间的关系式如下:

其中,
h是小球的高度
t是小球运动时间
g是地球重力加速度
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
测试输入:1
预期输出:20.1
开始你的任务吧,祝你成功!
参考代码:

# 本程序计算小球上抛在不同时间点的高度
v0 = 25     # 小球上抛的初速度
g = 9.8     # 地球重力加速度
t = int(input())
#   请在此添加实现代码   #
# ********** Begin *********#
h=25*t-0.5*g*t**2
print(h)
# ********** End **********#

第2关:输出格式控制 - 摄氏-华氏温度换算
任务描述
我们在计算数学公式时,计算结果很多时候都带有无穷小数,比如34.333333…,面对这种情况,我们一般通过保留小数点后面的有效数字来让结果更加简洁美观。
本关任务以摄氏-华氏温度换算为例,关注在 Python 中如何控制输出格式化的字符串。
相关知识
为了完成本关任务,你首先需要知道华氏-摄氏温度相互间的转化关系;其次,为了给出交互性更好的输出结果,你需要掌握 Python 输出格式控制的相关知识。
华氏-摄氏温度
华氏温标( F )与摄氏温标( C )是两大国际主流的计量温度的标准。华氏温标是德国人华伦海特( Fahrenheit )于 1714 年创立的温标,它以水银作测温物质,定水的熔点为 32 度,沸点为 212 度,中间分为 180 度,以 ℉ 表示。
摄氏温标是 1740 年瑞典人摄尔修斯( Celsius )提出的,在标准大气压下把冰水混合物的温度定为 0 摄氏度,水的沸点规定为 100 度。根据水这两个固定温度点来对温度进行分度,两点间作 100 等分,每段间隔称为 1 摄氏度,记作 1℃。
两个温标的换算公式如下:

Python 输出格式控制
在 Python 中,采用的格式化方式和 C 语言是一致的,用 % 实现,举例如下:
输入:
‘Hello, %s’ % ‘world’
‘Hi, %s, you have $%d.’ % (‘Michael’, 1000000)
输出:
‘Hello, world’
‘Hi, Michael, you have $1000000.’
你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
常见的占位符有:

%.2f表示转成浮点数,小数点后保留2位。
编程要求
请编写程序,实现计算并输出华氏度对应的摄氏度是多少?输出格式为:华氏?度=摄氏?度,且华氏度和摄氏度都需保留两位小数,?需替换为对应的计算结果。
注意:在计算机中,除法分为整数除和浮点除两种:
两个整数相除,结果是整数,比如9/5=1,2/3=0;
两个浮点数相除,结果是浮点数,比如:9.0/5.0=1.8, 2.0/3.0=06666666666…
若是一个整数和一个浮点数相除,程序会自动先将整数转化为浮点数然后相除。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
本关的样例测试集如下:
测试输入:50
预期输出:华氏50.00度=摄氏10.00度
开始你的任务吧,祝你成功!
参考代码:

# 本程序进行华氏温度和摄氏温度之间的转换
# 请通过换算公式来计算相应的摄氏温度值,需给出Python表达式
# 最终输出格式为:华氏**度=摄氏**度
F = float(input())    # 华氏温度
#   请在此添加实现代码   #
# ********** Begin *********#
C=(F-32)*5/9
print('华氏%.2f度=摄氏%.2f度'%(F,C))
# ********** End **********#

第3关:库函数的使用 - 小球阻力落体运动
任务描述
当我们在数学和物理等知识领域中进行公式计算时,总是涉及到一些数学函数运算,比如指数函数、对数函数、三角函数等等。Python 提供了丰富的数学计算库来进行函数运算。
本关任务以小球阻力落体运动为例,关注如何调用 Python 的数学计算库进行函数运算并求值。学生需仔细阅读相关知识,快速熟悉 Python 中的 math 计算库,并输出计算结果。
相关知识
为了完成本关任务,你需要学习 Python 模块以及 Python 中的数学计算模块 math 的使用方法。
小球阻力落体运动
在空气中由静止开始下落的小球既受重力的作用又受到阻力的作用。设小球的质量为m,速度为v,重力加速度为g,所受空气阻力假定与v 平方 正比,阻尼系数为u。设初始时刻小球静止,即v0=0。
小球遵循的运动方程如下,x表示运动距离:

Python 模块的使用
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在 Python 中,一个.py文件就称之为一个模块( Module )。
Python 内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。使用模块的第一步,就是导入该模块。以 sys 模块为例,导入的示例代码为:
import sys
导入 sys 模块后,我们就有了变量sys指向该模块。利用sys这个变量,就可以访问 sys 模块的所有功能。 sys 模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称,例如:
运行python hello.py获得的sys.argv就是[‘hello.py’]。
Python 数学计算模块 math
Python 中的数学计算模块 math 提供了常用数学函数计算支持。可通过dir查看,如下图所示。

常用的函数及其具体功能如下表格所示:

具体函数调用可参考如下三种使用方式:
直接导入具体函数,比如:
from math import tanh
一次性导入该模块对应的所有的函数
from math import *
只导入模块,之后加模块前缀调用具体函数
import math
math.sin(0.5*math.pi) #1.0
编程要求
在小球阻力落体运动中,已知:g=9.8m/s2,m=0.25kg,u=0.5,请编写程序实现计算并输出小球的速度v与向下的运动距离x的功能。
要求输出包括两行:
第一行的输出格式为:当t=?秒时,速度v=?米/秒;
第二行的输出格式为:?秒后,小球位置为向下?米。
时间t的输出为整数,速度v和距离x都需保留两位小数,?需替换为对应的计算结果。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
本关的样例测试集如下:
测试输入:2
预期输出:
当t=2秒时,速度v=2.21米/秒
2秒后,小球位置为向下4.08米
开始你的任务吧,祝你成功!
参考代码:

# 计算小球在空气中向下作阻力落体运动中随时间的速度变化情况
# 1.导入需要的函数
# 2.根据落体运动速度方程计算某时刻小球的速度
# 3.根据落体运动位置方程计算某时刻小球的位置
# 4.格式化输出计算结果
g = 9.8   # 单位:米/秒平方,重力加速度
m = 0.25  # 单位:千克
u = 0.5
t = int(input()) # 单位:秒
#   请在此添加实现代码   #
# ********** Begin *********#
from math import sqrt,tanh,cosh,log
v = sqrt(m * g / u) * tanh(sqrt(u * g / m * t))
x = m / u * log(cosh(sqrt(u * g / m) * t))
print('当t=%d秒时,速度v=%.2f米/秒'%(t,v))
print('%d秒后,小球位置为向下%.2f米'%(t,x))
# ********** End **********#

第4关:综合应用 - 小球斜上抛运动
任务描述
本关任务要求综合应用前面几个实训任务中的知识和技术,求小球斜上抛运动时垂直方向移动的距离。
相关知识
小球斜上抛运动
将小球向上斜抛,如果不考虑空气阻力的话,小球的运动轨迹将是一条抛物线。假设小球斜上抛的初速度v0 ,水平夹角θ,小球初始高y0(即位置处于x=0,y=y0 ),则小球运动的轨迹方程如下:

编程要求
将一个小球斜上抛出,假设:v0​ =25km/h,g=9.8m/s
2 ,y0=1,x=0.5,θ的单位为角度(右侧代码中已初始化),v0的单位为千米每小时。
本关具体编程任务如下:
I. 为各参数v0 ,g,y0 赋值;
II. 导入math库以及所需函数;
III. 计算y值;
IV. 格式化输出y值,输出格式为:“y值计算结果为:?米”,y值需保留五位小数,?需替换为对应的计算结果。
提示:v0​ 的单位需换算为m/s,θ的单位需换算为弧度。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。
本关的样例测试集如下:
测试输入:60
预期输出:y 值计算结果为:1.16043米
开始你的任务吧,祝你成功!
参考代码:

# 本程序计算小球向上斜抛在不同时间点的高度
theta = int(input())  # 单位:角度
#   请在此添加实现代码   #
# ********** Begin *********#
from math import tan,cos,pi
t = pi / 180 * theta
v0 = 25/3.6
g = 9.8
y0 = 1
x = 0.5
y = x * tan(t) - ((1/(2*v0)) * ((g*(x**2))/((cos(t))**2))) + y0
print('y值计算结果为:%.5f米'%(y))
# ********** End **********#

Python 计算思维训练——公式编程相关推荐

  1. Python 计算思维训练——输入和错误处理练习(二)

    第1关:读取用户输入的公式参数 任务描述 本关任务:编写一个能读取用户输入的公式参数,并计算公式结果的小程序. 相关知识 本关需要的知识请参考实训项目 "4-1 Python 计算思维训练- ...

  2. Python 计算思维训练——字典与字符串练习

    Python 计算思维训练--字典与字符串练习(一) 基于表格创建字典 - 物理常数存储 #coding=utf-8 import re # 请在此处填写代码 #********** Begin ** ...

  3. python计算思维训练文件操作与异常处理_054 Python程序设计思维

    [TOC] 一.单元开篇 计算思维与程序设计 计算生态与Python语言 用户体验与软件产品 基本的程序设计模式 二.计算思维与程序设计 2.1 计算思维 2.1.1 第3种人类思维特征 逻辑思维:推 ...

  4. Python 计算思维训练——输入和错误处理练习(一)

    文章目录 第1关:交互式输入 - 华氏-摄氏温度换算 第2关:文件读取- 华氏-摄氏温度换算 第3关:文件读取 - 华氏-摄氏温度换算 第4关:异常处理 - 华氏-摄氏温度换算 第1关:交互式输入 - ...

  5. Python 计算思维训练——绘图进阶

    第1关:柱状图 - 商品房销售价格统计图 任务描述 本关任务:请编写代码绘制办公楼商品房平均销售价格柱状图. 相关知识 为了完成本关任务,你需要掌握: 读取外部数据: 绘制基础柱状图. 读取外部数据 ...

  6. Python 计算思维训练——字典与字符串练习(一)

    第1关:基于表格创建字典 - 物理常数存储 任务描述 本关任务:编写一个利用包含表格的文件来创建Python字典的小程序. 相关知识 (略) 编程要求 根据提示,在右侧编辑器补充代码.constant ...

  7. Educoder Python 计算思维训练——文件操作与异常处理

    第1关:从文件中读取数据:信息时代已经到来 本关的编程任务是补全 src/Step1/test1.py 文件的代码,实现相应的功能.具体要求如下: 补充代码,功能是输出文本文件 test.txt 的前 ...

  8. Python 计算思维训练——输入和错误处理练习(二)第三关

    def Eval(path):output = "step3/out.txt" #输出结果的文件g=9.81#从文件中读取公式参数,检查有效性,并输出结果到文件# 请在此添加实现代 ...

  9. Python 计算思维训练——字典与字符串练习(二)

    第1关:从文件中创建嵌套字典(1) 本关任务:使用文件中保存的表格数据,编写一个按要求创建嵌套字典的小程序. #coding=utf-8# 请在此处填写代码 #********** Begin *** ...

  10. Python 计算思维训练——输入和错误处理练习(一)第三关

    def Read():outputPath = 'step3/out.txt' #输出文件的路径#读取文件中的华氏温度,并按格式输出结果到文件# 请在此添加实现代码 ## ********** Beg ...

最新文章

  1. boxFilter 滤波器实现
  2. oracle+块头csc,数据块转储及RDBA的转换
  3. php 动态设置utf8,PHP对GB编码动态转UTF-8几种方法评测
  4. 算法工程师和python_算法工程师只掌握Python行吗?如果在java和cpp中选一门语言学习哪个更有用?...
  5. 前端学习(1752):前端调试值之网络请求的监控
  6. HTTP和RPC的优缺点 1
  7. SpringBoot入门到精通_第6篇 _必知必会
  8. java android长连接_基于Java Socket的自定义协议,实现Android与服务器的长连接(一)...
  9. 分布式自增ID算法---雪花算法 (snowflake,Java版)---算法001
  10. Linux内核——定时器和时间管理
  11. 如何把多个tomcat加入到window服务中
  12. 电脑桌面数字时钟c语言,DesktopDigitalClock(桌面数字时钟)
  13. PPT中的文字怎么填充为图片?学会这个方法少走不少弯路
  14. 支持扫描的单usb口打印服务器,USB设备服务器 轻松实现扫描仪网络共享
  15. z变换解差分方程例题_Z变换解差分方程的思考
  16. native mysql 分区_MySQL-表分区
  17. Multisim基础 电流控制的电流源 简单示例
  18. JavaPoet使用详解
  19. vscode 编写html 浏览器显示 空白 白屏
  20. mui获取手机设备信息

热门文章

  1. 迅雷 linux 命令行 版本号,ubuntu下迅雷极速版的安装与使用
  2. 《程序员之禅》一一1.1 我如何学习打坐
  3. LabVIEW编程规范
  4. apk部分手机安装失败_安装APK文件时提示“解析包出现错误”,看完就知道怎么做了!...
  5. C# Excel绘制组合图
  6. 如何免费获取国外硕博学位论文全文资源
  7. 穿越熊市?用 Python 自制指数估值图
  8. 【2019年05月10日】指数估值排名
  9. ATLAS中文设置steam中文启动代码
  10. win11怎么装回win10系统