实验一 数字类型及其操作

发布于:2024-04-29 ⋅ 阅读:(69) ⋅ 点赞:(0)

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

任务描述

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

相关知识

在python中,九个基本的数值运算如下所示

相关课件和视频 算术表达式

编程要求

根据提示,在右侧编辑器补充代码,在输入每年本金、年利率和年限后,计算并显示普通年金终值(保留两位小数)。

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入每年本金50000 请输入利率0.1 请输入年限15

预期输出: 普通年金终值是1588624.85

提示:使用幂运算


凡事追求但不强求。 开始你的任务吧,祝你成功!

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

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

任务描述

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

相关知识

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

海伦公式

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

编程要求

根据提示,在右侧编辑器补充代码,根据输入的三角形的三条边长计算三角形的周长和面积。 注意:结果需要保留两位小数 提示:平方根可以用幂运算

测试说明

平台会对你编写的代码进行测试:

测试输入: 3 4 5

预期输出: 三角形周长12.00三角形面积6.00

测试输入: 5 5 5

预期输出: 三角形周长15.00三角形面积10.83


放下顾虑,剪掉烦恼,勇敢往前走吧,你会看到,一个新的自己。 开始你的任务吧,祝你成功!

import math
a=eval(input(""))
b=eval(input(""))
c=eval(input(""))
#代码开始
s=a+b+c
p=(a+b+c)/2
S=math.sqrt(p * (p - a) * (p - b) * (p - c))
print("三角形周长{:.2f}三角形面积{:.2f}".format(s,S))
#代码结束

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

任务描述

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

相关知识

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

math库的函数

第一种导入方式 from math import * 对math库中函数可以直接采用<函数名>()形式使用

第二种导入方式 import math 引用函数时需要加上math.,例如math.sin(3.14) 使用help(math)可以在python中显示所有math库的帮助信息

math库包括16个三角曲线函数 sin(x) 返回x的正弦函数值 cos(x)返回x的余弦函数值 tan(x) 返回x的正切函数值 radians(x) 角度x的角度值转弧度值 degree(x) 角度x的弧度值转角度值 注意:在这些三角函数中,要求x是弧度 相关课件和视频 math库

编程要求

根据提示,在右侧编辑器补充代码,输入四边形的四条边长和一对对角之和(角度值),计算其周长和面积。

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入边长一5 请输入边长二5 请输入边长三10 请输入边长四8.66 请输入对角之和90

预期输出: 四边形周长28.66面积32.48


成长,是每个孩子的权力,也是他们必经的征程,或平坦、或崎岖,有悲欢,有离合。

开始你的任务吧,祝你成功!

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

第4关:水仙花数

任务描述

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

相关知识

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

循环

for 循环变量 in range(初值,终值,步长): <循环体> 从初值到终值(不包含终值)逐一提取元素(每次增加步长值,步长值默认为1),放在循环变量中,对于所提取的每个元素执行一次循环体 例如 对1到10求和 s=0 for i in range(1,11,1): s=s+i print(s)

计算数值数据的各数字之和

即把各数位上的数字相加 例如x为两位数 示例如下:


  1. x=56
  2. x1=x%10(个位)
  3. x2=x//10(十位)
  4. print("各数位之和为",x1+x2)

输出:各数位之和为11

相关课件和视频

编程要求

根据提示,在右侧编辑器补充代码,显示所有的水仙花数。

测试说明

平台会对你编写的代码进行测试:

预期输出: 153 370 ...


要努力做一个可爱的人,不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。

开始你的任务吧,祝你成功!

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

    

第5关:计算投资收益

任务描述

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

相关课件和视频

相关知识

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

for循环

for i in range(初值,终值,步长): <语句块>
i从初值变化到终值(不包含到终值),每次增加步长值,对于每个i值执行一次程序块 初值默认为0,步长值默认为1 例如,计算1到100的和s1


  1. s1=0
  2. for i in range (1,101):
  3. s1=s1+i
  4. print(s1)

例如,计算1到100的偶数和s2


  1. s=0
  2. for i in range (2,101,2):
  3. s2=s2+i
  4. print(s)

编程要求

根据提示,在右侧编辑器补充代码,计算投资收益。

测试说明

平台会对你编写的代码进行测试:

测试输入: 预期输出: 按如下格式显示30年的数据

提示:在format的格式符中可以使用整数指定表达式显示的宽度 print("{:3}次{:3}次{:3}次".format(1,10,100)) 显示结果为 1次 10次100次 (1前面有2个空格10前面有1个空格)


梦想不会逃跑,会逃跑的只有自己。 开始你的任务吧,祝你成功!

#代码开始
x=500000
y=0
for i in range(3,33,3):
    for j in range(3):
        y=y+y*0.0175+12000
    x=x+x*0.04*3
    print("第{:2}年公寓方案{:.2f}大额存单投资收益{:.2f}".format(i,y,x-500000))
#代码结束
 
    

    

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

任务描述

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

相关知识

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

年数总和法计算固定资产折旧

年数总和法,又称合计年限法,是将固定资产的原价减去预计净残值后的余额,乘以一个以固定资产尚可使用寿命为分子,以预计使用寿命逐年数字之和为分母的逐年递减的分数计算每年的折旧额。 计算公式如下:  年折旧率=尚可使用寿命/预计使用寿命的年数总和  年折旧额=(固定资产原价-预计净残值)×年折旧率 例如:一条生产线100万元,使用年限为5年,预计净残值为4000元 第一年折旧额=(1000000 - 4000)×5/(5+4+3+2+1)=332000元 第二年折旧额=(1000000 - 4000)×4/(5+4+3+2+1)=265600元 第三年折旧额=(1000000 - 4000)×3/(5+4+3+2+1)=199200元 第四年折旧额=(1000000 - 4000)×2/(5+4+3+2+1)=132800元 第五年折旧额=(1000000 - 4000)×1/(5+4+3+2+1)=66400元

for循环

for i in range(初值,终值,步长): <循环体>
从初值到终值(不包含终值)逐一提取元素,放在循环变量i中,对于所提取的每个元素执行一次循环体。 每次元素变化为步长值,步长值默认为1。 相关课件和视频 for循环

测试说明

平台会对你编写的代码进行测试: 测试输入: 固定资产原始价值200000 预计净残值5000 使用年限10 预期输出: 第1年折旧额35454.55剩余价值164545.45 第2年折旧额31909.09剩余价值132636.36 第3年折旧额28363.64剩余价值104272.73 第4年折旧额24818.18剩余价值79454.55 第5年折旧额21272.73剩余价值58181.82 第6年折旧额17727.27剩余价值40454.55 第7年折旧额14181.82剩余价值26272.73 第8年折旧额10636.36剩余价值15636.36 第9年折旧额7090.91剩余价值8545.45 第10年折旧额3545.45剩余价值5000.00 提示:剩余价值是上一年的剩余价值减去当年的折旧额。 如上例,第1年的剩余价值是 固定资产原始价值-第1年的折旧额 200000-35454.55=164545.45 第2年的剩余价值是 第1年的剩余价值-第1年的折旧额 164545.45-31909.09=132636.36 …… 以此类推


完成工作的方法,是爱惜每一分钟。 开始你的任务吧,祝你成功

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

第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)

测试说明

平台会对你编写的代码进行测试:

测试输入: 现货价格960 交割价格970 利率0.0417 剩余时间6 预期输出: 10.02


即使前路茫茫无尽,但我的双手依然怀抱着光明。 开始你的任务吧,祝你成功!

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

第8关:小球落下距离和

任务描述

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

测试说明

平台会对你编写的代码进行测试:

测试输入:10; 预期输出: 299.609375


成熟不是看你的年龄有多大,而是看你的肩膀能挑起多重的责任。 开始你的任务吧,祝你成功!

#开始
n = eval(input("")) 
if n == 1:
    print("100.000000")
else:
    i = 0
    s = 100
    while i < (n-1):
        s = s + 100/(2**i)
        i += 1
    print("{:.6f}".format(s))
#结束