第1关: 具体值表达式的转换
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_(123//12)
#第四题
print_(123/12)
#第五题
print_(1000000000/60/60/24/365)
#第六题:要求编写两式比较的表达式,输出为True或False
x=3**3+4**3+5**3
y=6**3
print_(bool(x=y))
#第七题
print_(1.02**365)
print_(1.01**365)
#第八题:要求编写两式比较的表达式,输出为True或False
x=1.01**3*0.99**2
y=1.01
print_(bool(x>y))
# ********** End ********** #
第2关: Python数学函数
from math import *
def print_(x):
if type(x) == float:
print("%.4f" % x)
else:
print(x)
# ********** Begin ********** #
#请在每一题的print语句内完成题目所需的表达式
#第一题
print_(pi**4+pi**5)
print_(e**6)
print_(pi**4+pi**5-e**6)
#第二题
print_(pi/4)
print_(4*atan(1/5)-atan(1/239))
#第三题
a=sqrt(17)
b=sqrt(2*(17-sqrt(17)))
c=cos(2*pi/17)
d=((-1)+a+b+2*sqrt(17+3*a-b-2*sqrt(2*(17+a))))/16
print_(cos(2*pi/17))
print_(((-1)+a+b+2*sqrt(17+3*a-b-2*sqrt(2*(17+a))))/16)
print_(c-d)
#第四题
print_(sqrt(0.5*(1+sqrt(5))+2)-0.5*(1+sqrt(5)))
#第五题
print_(sinh(0.25))
print_(0.5*(e**0.25-e**(-0.25)))
# ********** End ********** #
第3关: 变量与赋值
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)]:
# 请在下面编写代码
a=sqrt(2*pi*s)
b=((x-m)/s)**2
fx=(1/a)*(e**((-1/2)*b))
# 请不要修改下面的代码
print_(fx)
print('\n***********************\n')
#第三题
for x in [0.0, pi/2, pi, 3*pi/2, 2*pi, 5*pi/2, 3*pi]:
# 请在下面编写代码
sinh=(e**x-e**(-x))/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)*g*(t**2)
# 请不要修改下面的代码
print_(y)
print('***********************')
# ********** End ********** #
第4关: 解决实际问题※
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=((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)]:
# 请在下面编写代码
r1=r/1200
N1=N*12
payPerMonth=(P*r1*(1+r1)**N1)/((1+r1)**N1-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)//12)
x=y0+y0//4-y0//100+y0//400
m0=m+12*((14-m)//12)-2
d0=(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.609
dist=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 ********** #