头歌实践教学平台 Python程序设计实训答案(一)

第一阶段 Python初体验

实验一 欢迎进入Python世界--Hello world

第1关:Hello Python,我来了!

任务描述

Python 编程语言具有简洁、易读等特点,并提供了交互式编程以及脚本编程两种不同的模式,学习者很容易上手。 本关的任务是: (1)完成打印Hello world 、整数加减法以及利用Help命令查询相应内置函数的使用等; (2)利用 Python 提供的print()内置函数打印输出Hello world

# coding=utf-8

# 请在此处添加代码完成输出“Hello Python”,注意要区分大小写!
########## Begin ##########
print('Hello Python')

########## End ##########

实验二 python初探

第1关:基本输入输出

任务描述

本关任务:编写一个程序,依次输入用户的学号,姓名和手机号码 再依次输出相关信息。为了完成本关任务,你需要掌握: 1.如何输入数据 2.如何输出

x = input("请输入学号")
y = input("请输入姓名")
h = input("请输入电话")
print("学号"+" "+x)
print("姓名"+" "+y)
print("电话"+" "+h)

第2关:计算长方形的周长和面积

任务描述

本关任务:输入长方形的长和宽,计算并输出长方形的周长和面积。

相关知识

为了完成本关任务,你需要掌握: 1.如何将字符数据转换为数值 2.赋值语句

c=eval(input('请输入长'))
k=eval(input('请输入宽'))
circle=2*int(c)+2*int(k)
area=int(c)*int(k)
#代码结束
print('长方形的周长是',circle)
print('长方形的面积是',area)

第3关:基本的原油金额计算

任务描述

本关任务: 石油桶数是常见的原油数量单位。 欧佩克组织和英美等西方国家原油数量单位通常用桶来表示,中国及俄罗斯等国则常用吨作为原油数量单位。 吨和桶之间的换算关系是:1桶(bbl)=0.14吨(t) 编写程序输入原油的价格和带有单位的数量,计算并显示其需要的美元金额。输入时价格以美元/桶为单位,数量可以以桶或吨为单位,10bbl表示10桶,2t表示2吨。

#油气产量换算程序
jg=input("请输入原油价格")
sy=input("请输入原油数量")
#代码开始
if sy[-3:]=="bbl":
    print("{:.2f}".format(int(jg)*int(sy[:-3])))
elif sy[-1]=="t":
    t=float(sy[:-1])/0.14
    print("{:.2f}".format(eval(jg)*t))
else:
    print("输入格式错误")

第4关:循环原油金额换算

任务描述

本关任务:编写一个循环实现原油金额计算的程序。用户输入原油价格和带有单位的数量,计算并显示金额。用户可连续输入带有单位的字符,直到用户输入n或N。

相关知识

为了完成本关任务,你需要掌握: 如何执行循环语句

jg= eval(input("请输入原油价格"))
sy = input("请输入原油数量")
#代码开始
while sy != 'N' and sy != 'n':
    if sy[-1] == 't':
        print("{:.2f}".format(eval(sy[:-1])/0.14*jg))
    elif sy[-3:] == "bbl":
        print("{:.2f}".format(eval(sy[:-3])*jg))
    else:
        print("输入格式错误")
    sy = input("请输入原油数量")
#代码结束

第5关:BMI指数判断

任务描述

BMI指数(身体质量指数,简称体质指数又称体重指数,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。 bmi小于18.5,为体重过低;bmi18.5-24(包含24),为体重正常;bmi为24-28(包含28),为体重超重;bmi超过28,为体重肥胖。

输入身高和体重,显示其分类

sg=eval(input("身高"))
tz=eval(input("体重"))
#代码开始

bmi=tz/(sg*sg)
if bmi<18.5:
    print("体重过低")
elif  18.5<bmi<=24:
    print("体重正常")
elif 24<bmi<=28:
    print("体重超重")
else:
    print("体重肥胖")
#代码结束

第6关:黄金价值计算

任务描述

编写程序,输入黄金价格(美元/盎司),美元兑人民币的汇率,黄金的数量(以克为单位),计算并输出黄金的人民币价值。(1盎司(oz) =31.1034768 克)。

jg=eval(input("黄金价格"))
hl=eval(input("美元汇率"))
zl=eval(input("黄金重量"))
#代码开始
jz=jg*zl*h1/31.1034768
#代码结束
print("黄金价值{:.2f}".format(jz))

第7关:股票代码判断

任务描述

证券代码采用6位数字编码,编码规则定义如下:

沪深股票代码编码规则

编写程序,根据用户输入的6位股票编码判断其所属的版块。若代码不符合以上规则,显示错误编码。要求能循环输入判断,直到用户输入000000为止。

dm=input("股票代码")
###代码开始
while(dm!="000000"):
    if dm[:2]=="60":
        print('沪市A股')
    elif dm[:3]=='688':
        print('科创板')
    elif dm[:3]=='000':
        print('深市A股')
    elif dm[:3]=='002':
        print('中小板')
    elif dm[:3]=='300':
        print('创业板')
    else:
        print("错误编码")
    dm=input("股票代码")
###代码结束

第8关:计算物业费

任务描述

某物业公司收取物业费的标准如下:楼梯房每月每平米0.8元,电梯房每月每平米1.8元,商业门面每月每平米3元。 若一次性缴纳12个月及以上,给予95折优惠。 编写程序,输入房屋类型(1代表楼梯房,2代表电梯房,3代表商业门面)和房屋面积、缴纳月数,计算客户应该缴纳的物业费。

x=eval(input("类型")
s=eval(input("面积"))
m=eval(input("月数"))
#代码开始
while True:
    while x==1:
        if m<12:
            f=(0.8)*s*m
            print("物业费{:.2f}".format(f))
        else:
            f=0.8*s*0.95*m
            print("物业费{:.2f}".format(f))
        break
    while x==2:
        if m<12:
            f=1.8*s*m
            print("物业费{:.2f}".format(f))
        else:
            f=1.8*s*0.95*m
            print("物业费{:.2f}".format(f))
        break
    while x==3:
        if m<12:
            f=1.8*s*m
            print("物业费{:.2f}".format(f))
        else:
            f=3*s*0.95*m
            print("物业费{:.2f}"format(f))
        break
    break

第二阶段 数据类型

实验一 数字类型及其操作

第1关:计算普通年金终值

任务描述

本关任务:编写一个计算普通年金终值的小程序。 普通年金终值是指最后一次支付时的本利和,它是每次支付的复利终值之和。按复利换算到最后一期期末的终值,然后加总,就是该年金终值。

普通年金终值

#计算普通年金终值
A=eval(input("请输入每年本金"))
i=eval(input("请输入利率"))
n=eval(input("请输入年限"))
#代码开始
F=(((1+i)**n-1)/i)*A
#代码结束
print("普通年金终值是{:.2f}".format(F))

第2关:计算三角形的周长和面积

任务描述

本关任务:编写一个计算三角形的周长和面积的小程序。

相关知识

为了完成本关任务,你需要掌握:海伦公式

海伦公式

海伦公式是利用三角形的三条边的边长直接求三角形面积的公式。 假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:

海伦公式

a=eval(input(""))
b=eval(input(""))
c=eval(input(""))
#代码开始
Z=a+b+C
p=Z/2
S=(p*(p-a)*(p-b)*(p-c))**0.5
print('三角形周长%.2f三角形面积%.2f'%(z,S))
#代码结束

第3关:计算四边形的周长和面积

任务描述

本关任务:编写一个能计算四边形的周长和面积的小程序。 输入四边形的四条边长和一对对角之和(角度值),计算其周长和面积。 四边形四个边的长度为 a,b,c,d,一对对角之和为 m,x是周长的一半, 其面积为

四边形面积

相关知识

为了完成本关任务,你需要掌握:如何使用math库的函数

from math import
a=eval(input("请输入边长一"))
b=eval(input("请输入边长二"))
c=eval(input("请输入边长三"))
d=eval(input("请输入边长四"))
m=eval(input("请输入对角之和"))
#代码开始
z=a+b+c+d
x=z/2
s=((x-a)*(x-b)*(x-c)**c*d*(cos(radians(m/2)))**2)**0.5
#代码结束
print("四边形周长{:.2f}面积{:.2f}".format(z,s))

第4关:水仙花数

任务描述

本关任务:编写一个程序,显示所有的水仙花数 水仙花数是一个三位数,其百位、十位、个位的数字的立方之和为其数本身。 例如 153的各数立方之和为1+125+27=153

相关知识

为了完成本关任务,你需要掌握:1.如何循环,2.如何获取三位数的各位数字。

#代码开始
for i in range(100,999,1):
    a=i//100
    b=i//10%10
    c=i%10
    if a**3+b**3+c**3==i:
        print(i)
#代码结束

第5关:计算投资收益

任务描述

本关任务:编写一个能计算投资收益的程序。 某客户有本金 500000 元,有两个投资方案。 一是某银行大额存单,三年期的存款年利息是 每年4%, 该客户存款到期后将利息和本金再存入。 二是购买公寓出租,每月租金 1000 元,该客户每年年底将租金采取一年期定期存款的形式,年利率为 1.75% 计算30年中每三年该客户两种投资方案的投资收益。

相关课件和视频

相关知识

为了完成本关任务,你需要掌握:for循环语句

#代码开始
ental income =0
desposite interest=500000
for i in range(1,31):
    rental income=1000*12 + rental income*(1+0.0175)
    if i%3==0:
        desposite interest=desposite interest+desposite interest*0.04*3
        print('第{:2}年公寓方案{:.2f}大额存单投资收益{:.2f}'.format(i,rental income,desposite interest-500000))
#代码结束

第6关:采用年度总和法计算固定资产折旧

任务描述

本关任务:编写一个使用年度总和法计算固定资产折旧的小程序。 某企业有一项固定资产。该项固定资产原始价值x元,预计使用年限为n年,预计净残值为y元 输入x,n,y,要求计算采用年数总和法计提各年的折旧额

相关知识

为了完成本关任务,你需要掌握:1.固定资产折旧的方法2.for循环

#年度息和法固定资产折旧
x=eval(input("固定资产原始价值"))
y=eval(input("预计净残值"))
n=eval(input("使用年限"))
i=0
b=x
for s in range(1,n+1):
    i=i+s
    if s==n:
        for h in range(1,n+1):
            z=(x-y)*((n+1-h)/i)
            b=b-z
            print('第{:1}年折旧额{:.2f}剩余价值{:.2f}'.format(h,z,b))
#代码结束

第7关:无收益资产远期合约价值

任务描述

无收益资产是指在远期到期前,不产生现金流的资产,如贴现债券。 无收益资产远期合约价值等于资产现货价格与交割价格现值的差额,如下图所示。

远期合约价值公式

S为资产现货价格,K为远期合约的交割价格,r为无风险年利率,T为远期合约的到货时间,t是现在的时间,T-t代表远期合约距离到期时间的剩余时间,均以年为单位, 例如,6个月期的无风险年利率为4.17%。市场上正在交易一份标的证券为一年期贴现债券、剩余期限为6个月的远期合约多头,其交割价格为970元,该债券的现价为960元。其远期价值为 S=960,K=970,r=4.17%,T-t=0.5 该远期合约多头的远期价值为:

远期合约价值例题

输入现货价格,交割价格,利率和剩余时间(月数),输出其远期价值

提示:math库中计算e指数的函数是exp(n)

from math import*
s=eval(input("现货价格"))
k=eval(input("远期价格"))
r=eval(input("利率"))
t=eval(input("剩余时间"))
#代码开始
f=s-k*exp(-r*(t/12))
#代码结束
print("远期价值{:.2f}".format(f))

第8关:小球落下距离和

任务描述

本关任务: 一个球从100米高处自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。 本关任务:编写一个小程序,求第n次落地时,共经过多少米。。

n=eval(input())
#开始
s=100
y=100
for i in range(1,n+1):
    if i>1:
        y=y/2
        S=s+y*2
        if i==n:
            print("{:.6f}".format(s))
    else:
    
### Python 实训作业 示例 代码 教程 #### 数据处理与分析实训 对于数据处理和分析的任务,Python 提供了强大的库来简化操作。下面是个简单的例子,展示如何读取CSV文件并计算其中某列的平均值。 ```python import pandas as pd # 加载 CSV 文件到 DataFrame 中 data = pd.read_csv('example.csv') # 计算 'Age' 列的均值 average_age = data['Age'].mean() print(f"The average age is {average_age}") ``` 此段代码展示了利用 `pandas` 库加载外部数据集,并执行基本统计运算的方法[^1]。 #### Web Scraping 实训 网络爬虫是项非常实用的技术,在获取公开网页上的结构化信息方面有着广泛的应用场景。这里给出个简单实例,说明怎样抓取特定网站的内容: ```python from bs4 import BeautifulSoup import requests url = "http://example.com" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') titles = soup.find_all('h2') # 假设我们要找所有的 h2 标签内的文本 for title in titles: print(title.string.strip()) ``` 这段脚本使用了 `requests` 和 `BeautifulSoup` 来请求HTML文档并对之解析提取所需的信息[^2]。 #### 图像识别入门实训 图像分类是机器学习中的个重要分支。为了帮助理解这过程,下面提供了个基于 TensorFlow 的简易图片分类器构建流程: ```python import tensorflow as tf from tensorflow.keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator(rescale=1./255) validation_datagen = ImageDataGenerator(rescale=1./255) train_generator = train_datagen.flow_from_directory( './training_set/', target_size=(150, 150), batch_size=20, class_mode='binary') validation_generator = validation_datagen.flow_from_directory( './test_set/', target_size=(150, 150), batch_size=20, class_mode='binary') model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(16, (3,3), activation='relu', input_shape=(150, 150, 3)), tf.keras.layers.MaxPooling2D(2, 2), ... # 更多层定义省略... ]) history = model.fit(train_generator, epochs=15, verbose=1, validation_data=validation_generator) ``` 上述代码片段介绍了创建卷积神经网络模型来进行二元图像分类的过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习的锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值