【EduCoder答案】Python实训答案

本文提供了Python实训的各种关卡答案,涉及表达式求解、控制结构、文件管理、面向对象编程、字符串处理、列表操作、元组与字典、控制结构、函数结构等多个方面,帮助学习者巩固Python基础和提升编程技能。
摘要由CSDN通过智能技术生成

简介

并不是所有的关卡都有答案,有些只有部分关卡有

python实训答案

Python表达式问题求解(一)※ >>>链接

第1关: 具体值表达式的转换
def print_(x):
    if type(x) == float:
        print("%.4f" % x)
    else:
        print(x)
# ********** Begin ********** #
#请在每一题的print语句内完成题目所需的表达式

#第一题
print_(1234%123)

#第二题
print_(90*365*24*3600)

#第三题
print_(123//12)

#第四题
print_(123/12)

#第五题
print_(10**9/(365*24*3600))

#第六题:要求编写两式比较的表达式,输出为True或False
print_(3**3+4**3+5**3==6**3)

#第七题
print_(1.02**365)
print_(1.01**365)

#第八题:要求编写两式比较的表达式,输出为True或False
print_(1.01**3*0.99**2>1.01)

# ********** 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)))

#第三题
print_(cos(2*pi/17))
print_(1/16*(-1+sqrt(17)+sqrt(2*(17-sqrt(17)))+2*sqrt(17+3*sqrt(17)-sqrt(2*(17-sqrt(17)))-2*sqrt(2*(17+sqrt(17))))))
print_(cos(2*pi/17) - 1/16*(-1+sqrt(17)+sqrt(2*(17-sqrt(17)))+2*sqrt(17+3*sqrt(17)-sqrt(2*(17-sqrt(17)))-2*sqrt(2*(17+sqrt(17))))))

#第四题
print_(sqrt((1+sqrt(5))/2+2)-(1+sqrt(5))/2)

#第五题
print_(sinh(0.25))
print_((e**0.25-e**(-0.25))/2)
# ********** 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)]:
    # 请在下面编写代码
    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))/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 - 0.5 * 9.8 * 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)]:
    # 请在下面编写代码
    monthR = r/1200
    N = N * 12
    payPerMonth = (P * monthR * (1+monthR)**N) / ((1+monthR)**N - 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 ********** #

Python控制结构(二)※ >>>链接

第1关: 分支结构基础实训
def print_(x):
    if type(x) == float:
        print("%.4f" % x)
    else:
        print(x)

#第一题
for temp in [-280, -100, 0, 20, 120, 200]:
    #请在下面编写代码
    # ********** Begin ********** #

    if temp < -273.15:
        F = None
    else:
        F = 9 * temp / 5 + 32
    # ********** End ********** #
    #请不要修改下面的代码
    print_(F)

print('\n***********************\n')

#第二题
for number in [-101.23, -3.14, 0, 12.55, 1908]:
    # 请在下面编写代码
    # ********** Begin ********** #
    if number <= 0:
        number = -number
    # ********** End ********** #
    # 请不要修改下面的代码
    print_(number)

print('\n***********************\n')

#第三题
for (num1, num2) in [(12, 34), (-6, -7),(-12, 23), (-273, 0), (0, 199)]:
    # 请在下面编写代码
    # ********** Begin ********** #
    if num1 > num2:
        num1, num2 = num2, num1
    # ********** End ********** #    
    # 请不要修改下面的代码
    print(num1, '  ', num2)


print('\n***********************\n')

#第四题

for (num1, num2, num3) in [(-231, -321, 123), (100, 0, -99), (-980, -1002, -1), (6,1,2017)]:
    # 请在下面编写代码
    # ********** Begin ********** #
    if num1 > num2:
        num1, num2 = num2, num1
    if num2 > num3:
        num2, num3 = num3, num2
    if num1 > num2:
        num1, num2 = num2, num1
    # ********** End ********** #    
    # 请不要修改下面的代码
    print(num1, num2, num3)


print('\n***********************\n')

#第五题

for (num1, num2) in [(10, 5), (12,34), (89,0), (-100, 23), (789, -123)]:
    # 请在下面编写代码
    # ********** Begin ********** #
    if num2 == 0:
        result = None
    else:
        result = num1 / num2
    # ********** End ********** #    
    # 请不要修改下面的代码
    print_(result)


print('\n***********************\n')

#第六题

for (a, b, c) in [(1,2,1), (1,-2,1), (1,2,-3), (12, 34, 56), (78, 89, 100)]:
    # 请在下面编写代码
    # ********** Begin ********** #
    sqrt = b*b - 4*a*c
    if sqrt >= 0:
        root1 = (-b + sqrt**0.5) / (2*a)
        root2 = (-b - sqrt ** 0.5) / (2 * a)
    else:
        root1, root2 = None, None
    # ********** End ********** #    
    # 请不要修改下面的代码
    print(root1, root2)


print('\n***********************\n')

#第七题

for x in [-9, -8, -7, -6, -5, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]:
    # 请在下面编写代码
    # ********** Begin ********** #
    if -10 <= x < -8:
        fx = x - 2
    elif -8 <= x < -6:
        fx = x + 3
    elif -6 <= x <= -2:
        fx = x*x
    elif -2 < x < 2:
        if x < 0:
            fx = -x
        else:
            fx = x
    elif 2 <= x <= 4:
        fx = x**3
    elif 4 < x <= 6:
        fx = 3*x - 4
    elif 6 < x <= 8:
        fx = 4*x + 1
    # ********** End ********** #    
    # 请不要修改下面的代码
    print_(fx)


第2关: 循环结构基础实训
from random import *
from math import *

r = []
for i in [10, 200,300,400,500,600,700,800,900,1000]:
    seed(i)
    r.append(randint(1, i))


#第一题

#请在下面编写代码
# ********** Begin ********** #
print('摄氏温度\t\t华氏温度')
print('*'*20)
for temp in range(-40, 55, 5):
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值