第1关:具体值表达式的转换

任务描述

本关主题是具体值组成的表达式的建模,实践如何将这样的数学表达式转换成Python表达式。

本关任务:仔细阅读背景知识,找到数学运算符与Python数值运算符之间的对应关系,将下面数学表达式转换为Python表达式,并用print语句打印结果。

例如,对数学表达式1+1,对应的Python表达式和结果输出语句为print(1+1)

请用print语句输出下列数学表达式的值,或实际问题的答案。

相关知识(略)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,完成如下要求:

第一题

1234除以123的余数。

第二题

某个国家的人均寿命是90岁,请问人均能活多少秒?

第三题

123/12的商。

第四题

123/12的值。

第五题

请问一个新生儿能活十亿秒吗?即计算并输出十亿秒是多少年。

第六题

33+43+53=63是否成立?

第七题

分别计算1.023651.01365,可知“多百分之一努力,得千分收成”。

第八题

计算并判断1.013∗0.992是否大于1.01,输出判断结果。可知“三天打鱼,两天晒网,终将一无所获”。

测试说明

直接输出每道题的答案,每个答案占一行,中间不能空行。

注意:请不要直接print最终数字,否则平台发现此类情况后,将一律扣掉本关经验值,并且追加处罚措施。

祝你成功!

代码:

def print_(x):if type(x) == float:print("%.4f" % x)else:print(x)
# ********** Begin ********** #
#请在每一题的print语句内完成题目所需的表达式#第一题
print_(1234%123)#第二题
print_(90*365*24*60*60)#第三题
print_(int(123/12))#第四题
print_(123/12)#第五题
print_(1000000000/(60*60*24*365))#第六题:要求编写两式比较的表达式,输出为True或False
print_(bool(3*3*3+4*4*4+5*5*5==6*6*6))#第七题
print_(1.02**365)
print_(1.01**365)#第八题:要求编写两式比较的表达式,输出为True或False
print_(bool(((1.01**3)*(0.99**2))>1.01))
# ********** End ********** #

第2关:Python数学函数

任务描述

本关任务:仔细阅读下面的相关知识,找到数学函数与Python数学函数之间的对应关系,将下面数学表达式转换为Python表达式,并用print语句打印结果。

相关知识

本关主题是对包含特殊运算符的表达式的建模,实践如何利用Python数学函数将这样的数学表达式转换成Python表达式。

Python一个很吸引人的特点是其外围库非常丰富。math模块中定义了非常丰富的数学函数,可以在命令提示符下运行下述命令查看所有预定义的数学函数:

或:

下面列出一些常用的数学函数,请仔细阅读,通过完成本关任务,了解和掌握math库中数学函数的使用。

  • abs(x):返回整数的绝对值,如abs(-10)返回10

  • ceil(x):返回数字的向上取整,如math.ceil(4.1)返回5

  • exp(x):返回ex次幂,如math.exp(1)返回2.718281828459045

  • fabs(x):返回浮点数的绝对值,如math.fabs(-10) 返回10.0

  • floor(x):返回数字的向下取整,如math.floor(4.9)返回4

  • log(x,base):如math.log(math.e,math.e)返回1.0math.log(100,10)返回2.0

  • log10(x):返回以10为基数的x的对数,如math.log10(100)返回2.0

  • max(x1,x2,...):返回给定参数的最大值,参数可以为序列。

  • min(x1,x2,...):返回给定参数的最小值,参数可以为序列。

  • modf(x):以元组的形式返回,(小数部分,整数部分)。两部分的数值符号与x相同,整数部分以浮点型表示。

  • pow(x, y)xy运算后的值。

  • round(x [,n]):返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

  • sqrt(x):返回数字x的平方根,返回类型为实数,如math.sqrt(4)返回2.0

  • acos(x):返回x的反余弦弧度值。

  • asin(x):返回x的反正弦弧度值。

  • atan(x):返回x的反正切弧度值。

  • atan2(y, x):返回给定的XY坐标值的反正切值。

  • cos(x):返回x的弧度的余弦值。

  • hypot(x, y):返回欧几里德范数sqrt(x2+y2)

  • sin(x):返回x弧度的正弦值。

  • tan(x):返回x弧度的正切值。

  • degrees(x):将弧度转换为角度,如degrees(math.pi/2) , 返回90.0

  • radians(x):将角度转换为弧度

除了上述常用的数学函数,math库中还定义了两个常用的数学常量:

  • pi——圆周率,一般以π来表示。

  • e——自然常数。

一般有两种常用方法来使用math中的函数:

import math
print(math.abs(3))

或:

from math import *
print(abs(3))

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,本关需要你编程计算的数学表达式或实际问题包括以下五题。

第一题

分别计算并输出π4+π5e6的值,以及二者的差。

第二题

分别计算4π​4arctan(51​)−arctan(2391​)的值,并观察其差异。

第三题

分别计算并输出cos(172π​)161​[−1+17​+2(17−17​)​+217+317​−2(17−17​)​−22(17+17​)​​],及二者的差。

第四题

计算21+5​​+2​−21+5​​

第五题

分别计算并输出sinh(0.25)2(e0.25−e−0.25)​的值,查看并比较二者的大小。

测试说明

右侧代码编辑区已设置好具体输出格式,你只需要在指定位置填写Python代码即可。

注意:请不要直接print最终数字,否则平台发现此类情况后,将一律扣掉本关经验值,并且追加处罚措施。

祝你成功!

代码:

from math import *def print_(x):if type(x) == float:print("%.4f" % x)else:print(x)
# ********** Begin ********** #
#请在每一题的print语句内完成题目所需的表达式#第一题
print_(pi**4+pi**5)
print_(exp(6))
print_(pi**4+pi**5-exp(6))#第二题
print_(pi/4)
print_(4*atan(1/5)-atan(1/239))#第三题
print_(cos((2*pi)/17))
a = cos((2*pi)/17)
b = (-1) + pow(17,1/2)
c = pow(2*(17-pow(17,1/2)),1/2)
d = 2*pow(2*(17+pow(17,1/2)),1/2)
e = 17+3*pow(17,1/2)
f = 2*pow((e-c-d),1/2)
g = (1/16)*(b+c+f)
h = a-g
print_(g)
print_(h)
#第四题
i = (1+pow(5,1/2))/2
j = pow(i+2,1/2)-i
print_(j)
#第五题
print_(sinh(0.25))
k = exp(0.25)-exp(-0.25)
l = k/2
print_(l)# ********** End ********** #

第3关:变量与赋值

任务描述

仔细阅读下面的介绍,理解变量的定义、其与值的关联关系,以及赋值语句的语法与功能,将下面数学表达式转换为Python表达式,并用print语句打印结果。

相关知识

本关主题是实践和体验Python变量的用途,学会使用Python赋值语句实现表达式值的传递。

在前面两关中,所有表达式都由具体值构成,如17172π​等,这些值又称为常量,因为其值在程序运行过程中不能再被改变。与此对应,Python的变量的值在程序运行过程中是可被修改的。

现实世界中大部分表达式中的运算数是可变的,并不是固定成一个值的。如求圆面积公式s=πr2,其中的r是可变的,对不同半径的圆,求面积的方法是一样的,只是r的值有差别。那么,需要变量和赋值语句的帮助,来这类表达式转换为Python表达式和语句。

此外,需要主要的是,数学公式s=πr2中,πr之间省略了乘号,在数学上这是允许的,但是转换成Python表达式时,不能省略,否则会产生语法错。

可将变量看作是为某个对象起的名字,它提供了名字与对象关联的方式。考虑下面的代码:

  1. mypi=3.1415926
  2. r=1.2
  3. length=2*mypi*radius
  4. r=24.3

这段代码首先用名字pir分别与不同的float类型对象3.14159261.2关联。然后,用名字length与第三个float类型对象2*mypi*radius关联,如下图(a)所示。如果该程序继续执行语句r=24.3,则名字r将与另一个float类型对象24.3关联,如下图(b)所示。

请记住,在Python中,变量是而且仅是一个名字而已。赋值语句用赋值运算符=将右边符号(常量、变量、表达式、函数调用等)所代表的对象与左边的名字进行关联。这种关联不是一对一的,因此,一个对象可以有一个、多个,甚至没有名字与它关联。

Python语法规定变量名(又称为标识符)可以包含大写字母、小写字母和数字(但不能以数字开头),以及特殊字符_(下划线)。Python中标识符是区分大小写的,例如,Rr是不同的标识符。

Python保留了一些标识符作为保留关键字,这些关键字具有特定含义,不能被用作变量名,包括:andasassertbreakclasscontinuedefdelelifelseexceptexecfinallyforfromglobalifimportinislambdanotorpassprintraisereturntrywithwhileyield等。

Python允许多重赋值,语句x, y = 2, 3表示将x2关联,y3关联。多重赋值带来很多方便,例如可用一条语句实现两个变量值的交换,运行下面的代码,可以看到变量xy的值进行了交换:

  1. x, y = 2, 3
  2. x, y = y, x
  3. print('x =', x)
  4. print('y =', y)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,请编程输出以下数学表达式或实际问题的最终答案:

第一题

根据下面将摄氏温度转换为华氏温度的公式,在指定的位置编写程序,计算华氏温度值:F=59​C+32。

第二题

钟形高斯函数如下所示,请在指定位置编写程序,计算不同参数下的结果。 f(x)=2πs​1​e[−21​(sx−m​)2]

第三题

请在指定位置编写程序,按下面公式计算sinh(x)的值。 sinh(x)=2ex−e−x​

第四题

垂直向上抛出小球,设小球初始速度为v0​,则小球运动过程中离抛出点的高度距离公式为: y=v0​t−21​gt2 其中g是重力加速度,值为9.8t表示时间。请在指定位置编写程序,计算在给定初速度下,所给时刻,小球的高度。

测试说明

右侧代码编辑区已设置好具体输出格式,你只需要在指定位置填写Python代码即可。

注意:请不要直接print最终数字,否则平台发现此类情况后,将一律扣掉本关经验值,并且追加处罚措施。

祝你成功!

代码:

from math import *def print_(x):if type(x) == float:print("%.4f" % x)else:print(x)
# ********** Begin ********** #
#第一题
for temperature in [-271, -100, 0, 100, 1000]:#请在下面编写代码F = (9/5)*temperature+32#请不要修改下面的代码print_(F)print('\n***********************\n')#第二题
for (m, s, x) in [(0,2,1),(1,2,2),(1,3,4),(1,10,100)]:# 请在下面编写代码fx = (1/sqrt(2*pi*s))*exp((-1/2)*((x-m)/s)**2)# 请不要修改下面的代码print_(fx)print('\n***********************\n')#第三题
for x in [0.0, pi/2, pi, 3*pi/2, 2*pi, 5*pi/2, 3*pi]:# 请在下面编写代码sinh = (exp(x)-exp(-x))*(1/2)# 请不要修改下面的代码print_(sinh)print('\n***********************\n')#第四题
g = 9.8
for v0 in [10, 15, 20, 25, 30]:for t in [0.0, 0.5, 1, 1.5, 2, 2.5, 3]:# 请在下面编写代码y  = v0*t-(1/2)*9.8*t*t# 请不要修改下面的代码print_(y)print('***********************')
# ********** End ********** #

第4关:解决实际问题※

任务描述

本关主题是综合利用前三关掌握的知识,解决实际问题。这些问题来源于实际生活的各个方面,通过问题的解决,希望对计算思维有一定的体验和感悟。

本关任务:完成编程要求的相关题目。

相关知识

数据类型

对象是Python程序操作的核心,每个对象都有一个类型,它规定了程序可以对该类型对象进行哪些操作。类型分为标量的和非标量的。标量对象是不可分割的单个对象。非标量对象——例如字符串(String)——通常不是单个的整体,而是有可分解的内部结构的。

Python4种类型的标量对象:

  • int对象用来表示整数。int类型的对象可通过字面直接看出,如39001-72等。

  • float对象用于表示实数。float类型的对象也可通过字面很容易地看出来,如23.09.48-72.28。也可用科学计数法表示float类型的对象,例如,3.9E3代表3.9×103,等同于3900

  • bool是用来表示布尔值,即“真”或“假”,在Python中分别用常量TrueFalse表示。

  • None对象表示空值。

对象和运算符可以构成表达式,表达式运算后会得到一个值,称为表达式的值,这个值就是具有某种类型的一个对象。例如,表达式7+2表示int类型的对象9,而表达式7.0+2.0表示float类型的对象9.0Python==运算符用于比较两个表达式的值是否相等,而!=运算符用于比较两个表达式的值是否不相等。

算术运算符

intfloat类型的运算符及其说明如下所示:

  • i+j:表示对象i和j的和。如果ij都是int类型,运算结果为int类型,如果至少有一个为float类型,结果为float类型。

  • i-j:表示对象ij的差。如果ij都是int类型,运算结果为int类型,如果至少有一个为float类型,结果为float类型。

  • i*j:表示对象ij的乘积。如果ij都是int类型,运算结果为int类型,如果至少有一个为float类型,结果为float类型。

  • i//j:表示整数除法。例如8//2的值为int类型49//4的值为int类型2。即整数除法只取整数商,去掉小数部分。

  • i/j:表示对象i除以对象j,无论ij的类型是int还是float,结果都为float,如10/4结果为2.5

  • i%j:表示int对象i除以int对象j的余数,即数学的“模”运算。

  • i**j:表示对象ij次方。如果ij都是int类型,运算结果为int类型,如果至少有一个为float类型,结果为float类型。

  • 比较运算符>(大于)、>=(大于等于)、<(小于)和<=(小于等于)的含义与其在数学上的含义一样。

算术运算符通常有优先级。例如,表达式x+y*2的计算过程是先算y乘以2,然后将结果与x相加。计算的顺序可以使用括号来改变,例如,(x+y)*2表示先计算xy,然后将结果乘以2

bool类型上的运算有:

  • a and b:与(and)运算,如果bool类型对象ab都为True,结果为True,否则结果为False

  • a or b:或(or)运算,如果bool类型对象ab至少有一个为True,结果为True,否则结果为False

  • not a:非(not)运算,如果bool类型对象aTrue,结果为False;如果为False,结果为True

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,完成如下要求:

第一题

在指定地方编写Python程序来计算、显示通过如下图所示的管道的水流速率。进入管道的水流速率的单位为英尺/秒,管道入口半径和出口半径的单位为英寸。

出口速率的计算公式为:vout​=vin​(rout​rin​​)2,其中vout​为出口速率,vin​为入口速率,rout​为管道出口半径,rin​为管道入口半径。

第二题

圆杆(如下图所示的自行车踏板)的最小半径(能够支撑一个人的脚所施加的压力,而不至于超过附着在曲柄臂链轮的压力)的计算公式为:r3=πSdp​,其中r为圆杆的半径(inches),d为曲柄臂的长度(inches),p为施加在踏板上的重量(lbs),S为每 lbs/in2上的压力。基于上述信息,在右侧指定位置编写一个Python程序根据用户输入来计算r的值。

基于上述信息,在指定位置编写一个Python程序根据用户输入来计算r的值。

第三题

编写出一个Python程序,在给定年限N和复合利率r的情况下,计算当贷款金额为P时,每月需还贷的金额,每月还贷公式为(1+r′)N′−1Pr′(1+r′)N′​,其中r'为月利息。(提示:r′=1200r​N'=N*12)。

第四题

请在指定位置编写程序,将日期作为输入并打印该日期是一周当中的周几。用户输入有三个:m(月)、d(日)、y(年)。对于m,用1表示一月,2表示二月,以此类推。对于输出,0表示周日,1表示周一,2表示周二,以此类推。

对于阳历,如果给定mdy,则计算步骤大致如下(注意其中的除法是整数除法,详见下面的相关知识):

y0​=y−(14−m)/12 x=y0​+4y0​​−100y0​​+400y0​​ m0​=m+12(12(14−m)​)−2 d0​=(d+x+1231∗m0​​)%7

例如:2000214日是周几? y0​=2000−1=1999 x=1999+1999/4−1999/100+1999/400=2483 m0​=2+12∗1−2=12 d0​=(14+2483+(31∗12)/12)%7=2500%7=1 答案:周一

第五题

编写一个计算并打印地球上两点的大圆弧距离的Python程序。该程序接收用户的4个输入x1​,y1​,x2​,y2​(分别表示地球上两个点的维度和经度,单位是度)。大圆弧距离计算公式为(单位是英里):

d=R∗arccos(sin(x1​)∗sin(x2​)+cos(x1​)∗cos(x2​)∗cos(y1​−y2​))

其中R=69.1105英里,1英里=1.609公里。请在指定位置编写程序,所给坐标之间的大圆弧距离,单位是公里。(注意,sincos函数输入是弧度值,而程序中给的是角度值,需要转换。arccos结果是弧度值,需要转化成角度值)。

第六题

根据给定的温度t(华氏温度)和风速v,可以计算出风寒指数,公式如下:

w =35.74+0.6215 t +(0.4275 t −35.75) v0.16

请在指定位置编写程序,根据所给的温度和风速,计算风寒指数。

测试说明

  • 右侧代码编辑区已设置好具体输出格式,你只需要在指定位置填写Python代码即可。

  • 请不要直接print最终数字,否则平台发现此类情况后,将一律扣掉本关经验值,并且追加处罚措施。


祝你成功!

代码:

from math import *def print_(x):if type(x) == float:print("%.4f" % x)else:print(x)
# ********** Begin ********** #
#第一题
for (vin, rin, rout) in [(10, 10, 5), (10, 10, 10), (20, 20, 5), (20, 20, 10)]:#请在下面编写代码vout = vin*((rin/rout)**2)#请不要修改下面的代码print_(vout)print('\n***********************\n')#第二题
for (d, p, S) in [(7,300,10000),(7,400,15000),(10,400,12000),(15,400,12000)]:# 请在下面编写代码r = pow((d*p)/(pi*S),1/3)# 请不要修改下面的代码print_(r)print('\n***********************\n')#第三题
for (P, N, r) in [(300000,10,6.5), (300000,20,6.5),(300000,30,6.5)]:# 请在下面编写代码payPerMonth = (P*(r/1200)*(1+r/1200)**(N*12))/((1+r/1200)**(N*12)-1)# 请不要修改下面的代码print_(payPerMonth)print('\n***********************\n')#第四题for (m,d,y) in [(1,1,2017), (2,14,2017), (5,1,2017), (6,1,2017),(7,1,2017),(12,25,2017)]:# 请在下面编写代码y0 = y-(14-m)//12x = y0+y0//4-y0//100+y0//400m0 = m+12*((14-m)//12)-2d0 = (d+x+(31*m0)//12)%7 # 请不要修改下面的代码print_(d0)print('\n***********************\n')#第五题for (x1,y1,x2,y2) in [(48.87,-2.33,37.8,-122.4),(40.89,116.50,37.8,-122.4),(40.89,116.50,48.87,-2.33)]:# 请在下面编写代码x1=radians(x1)y1=radians(y1)x2=radians(x2)y2=radians(y2)R=69.1105*1.609dist=R*acos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2))*180/pi# 请不要修改下面的代码print_(dist)print('\n***********************\n')#第六题for (t, v) in [(32,10), (32, 100), (40, 10), (40, 100)]:# 请在下面编写代码w = 35.74+0.6215*t+(0.4275*t-35.75)*(v**0.16)# 请不要修改下面的代码print_(w)
# ********** End ********** #

实验三 Python表达式相关推荐

  1. 回顾 深度学习 实验三 线性回归

    小笔记: 线性回归 1. 生成数据集 2. 模型构建 3. 模型优化 4. 模型优化 5. 模型训练 2. 多项式回归 1. 数据集构建 2. 模型构建 3. 模型训练 4. 模型评估 3. Runn ...

  2. python程序设计实验指导书第1版实验三十四_《python编程基础》实验指导书.doc

    <python编程基础>实验指导书 PAGE 南 阳 理 工 学 院 <python编程基础>实验指导书 (2014版) 软件学院·软件工程教研室 2011.3 目录 TOC ...

  3. python程序设计报告-20183215 实验三《Python程序设计》实验报告

    20183215 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1832 姓名: 董振龙 学号: 20183215 实验教 ...

  4. 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...

    20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...

  5. python文件操作实验报告_20193120 实验三《Python程序设计》实验报告

    实验三 (一)实验内容 创建服务端和客户端,服务端在特定端口监听多个客户请求.客户端和服务端通过Socket套接字(TCP/UDP)进行通信. (二)实验要求 (1)创建服务端和客户端,选择一个通信端 ...

  6. python语言程序设计实验教程答案实验三_20182204 实验三《Python程序设计》实验报告...

    20182204 <Python程序设计>实验三报告 课程:<Python程序设计> 班级:1822 姓名:20182204zwp 学号:20182204 实验教师:王志强老师 ...

  7. python实验三答案_20192116 实验三《Python程序设计》实验报告

    20192116 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 饶欢 学号:20192116 实验教师: ...

  8. python编译程序输入上网时间并计算上网费用 计算方法_同济大学Python程序设计基础 实验三:选择结构...

    实验三 第一题 1.求一元二次方程的根. 要求:输入一元二次方程的三个系数a.b.c,根据系数值,可得出如下三种根: (1)△>0,两个实根 (2)△=0,重根,即相同根 (3)△<0,无 ...

  9. python面向对象实验报告_20192310 实验三《Python程序设计》实验报告

    学号 2020-2021-1 <数据结构与面向对象程序设计>实验三报告 课程:<程序设计与数据结构> 班级: 1923 姓名: 严嘉钰 学号:20192310 实验教师:王志强 ...

  10. python编程图书批发商店的某本书的零售价是26.5_根据实验指导书,完成实验3的所有任务,使用 实验三(实验报告).docx 完成报告并提交。_学小易找答案...

    [多选题]期末结账后没有余额的账户是( ). [单选题]企业本期生产产品直接耗用原材料 3000 元,生产车间管理方面耗用原材料 2000 元,正确的会计分录是( TopSage ) [多选题]下列属 ...

最新文章

  1. AI生成手写数字 + 智能卡点切图
  2. [论文学习]DIVIDEMIX:带噪声标签的半监督学习LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING
  3. 程序员如何高效的学习?
  4. 当时间管理碰上大数据,从此,悠悠时光也终不再那么漫长
  5. 【Elasticsearch】Elasticsearch 索引生命周期管理
  6. 网友建站经验——(转载)
  7. grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be
  8. redis面试题简义
  9. POJ 3581 Sequence(后缀数组)题解
  10. UNITY历史版本下载列表
  11. 学习参考《高性能MySQL(第3版)》中文PDF+英文PDF
  12. 2021新书—《Python机器学习算法与实战》
  13. 解析数论导论中的符号
  14. MTK7621 uboot编译与烧写
  15. 基于Web的动态新闻发布系统设计与实现(含word文档)
  16. HYSPLIT模式简介及使用
  17. 常见容错机制:failover、failback、failfast、failsafe
  18. AI新技术:利用神经网络对图片进行超级压缩
  19. 完美世界前三季营收57亿同比降15% 净利14.4亿同比增80%
  20. AR涂涂乐⭐一、unity高版本ImageTarget识别图开始是空白的解决办法、UI自适度

热门文章

  1. 软件需求分析是什么?
  2. 怎么使用水经注万能地图下载器制作百度兴趣点个性化地图
  3. Android 导入导出excel xls、xlsx
  4. 人体姿态识别OpenPose
  5. ams1117 lm317 对比_三种典型的基于AMS1117稳压IC的5v转3.3v电路-电路图讲解-电子技术方案...
  6. siamfc代码解读_分析SiamFC
  7. R数据分析:如何绘制回归分析结果的森林图
  8. Layui表单验证及提交
  9. 嵌入式学习之QT学习---6 QT上位机开发之串口助手(下)
  10. 微型计算机原理第三版期末试题,《微机原理A (闭卷)》期末试题含答案.doc