zsc-python习题:数值类型(part2)

2.4计算几何形状的表面积与体积(project)

 第一关:

输入和输出:

测试输入:
4 8
预期输出:
长方形的面积为32.00

代码:

import math

def square(length, width):
    """计算长方形的面积"""
    ##########################Begin#########################
    f =width*length
    return f


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

if __name__ == '__main__':
    length, width = map(float, input().split())
    geometry = square(length, width)  # 调用判断图形类型的函数
    print(f'长方形的面积为{geometry:.2f}')                          # 输出函数运行结果

 第二关:

输入和输出:

测试输入:
1 2 3
预期输出:
长方体的表面积为22.00, 体积为6.00

相关知识:

return两个值时,用两个变量直接接收就可以了

代码:

import math

def cube(length, width, height):
    """计算长方体的表面积和体积"""
    ########################Begin##############################
    s = length*width*2+length*height*2+width*height*2
    v = length*width*height
    return s,v;
    ########################End##############################

if __name__ == '__main__':
    length, width, height = map(float, input().split())
    s,v = cube(length, width, height)  # 调用判断图形类型的函数
    print(f'长方体的表面积为{s:.2f}, 体积为{v:.2f}')                          # 输出函数运行结果

 第三关:

输入和输出:

测试输入:
6.5
预期输出:
圆形的面积为132.73

代码:

import math

def circle(radius):
    """接收圆的半径,返回圆形的面积,圆周率用math.pi"""
    ########################Begin##############################
    s = math.pi * radius**2
    return s
    ########################End##############################

if __name__ == '__main__':
    radius = float(input())
    geometry = circle(radius)  # 调用判断图形类型的函数
    print(f'圆形的面积为{geometry:.2f}')                          # 输出函数运行结果

 第四关:

输入和输出:

测试输入:
5
预期输出:
球的表面积为314.16, 体积为523.60

代码:

import math

def sphere(radius):
    """接收球的半径,返回球的表面积和体积,圆周率用math.pi"""
    ########################Begin##############################
    s = 4*math.pi*radius**2
    v = 4/3*math.pi*radius**3
    return s,v
    ########################End##############################

if __name__ == '__main__':
    radius = float(input())
    s,v = sphere(radius)  # 调用判断图形类型的函数
    print(f'球的表面积为{s:.2f}, 体积为{v:.2f}')                          # 输出函数运行结果 

 第五关:

输入和输出:

测试输入:
4.5 8
预期输出:
圆柱体的表面积为353.43, 体积为508.94

代码:

import math

def cylinder(radius, height):
    """接收圆柱体的底面半径和高,返回圆柱体的表面积和体积,圆周率用math.pi"""
    ########################Begin##############################
    v = math.pi*radius**2*height
    s = 2*math.pi*radius**2+2*math.pi*radius*height
    return s,v
    ########################End##############################

if __name__ == '__main__':
    radius, height = map(float, input().split())
    s,v= cylinder(radius, height)  # 调用判断图形类型的函数
    print(f'圆柱体的表面积为{s:.2f}, 体积为{v:.2f}')                          # 输出函数运行结果

 第六关:

输入和输出:

测试输入:
4.5 8
预期输出:
圆锥的表面积为193.38, 体积为169.65

代码:

import math

def cone(radius, height):
    """接收圆锥的底面半径和高,返回圆锥的表面积和体积,圆周率用math.pi"""
    ########################Begin##############################
    v = 1/3 *math.pi*radius**2*height
    s = math.pi * radius*(radius+math.sqrt(radius**2 + height**2))
    return s,v
    ########################End##############################

if __name__ == '__main__':
    radius, height = map(float, input().split())
    s,v = cone(radius, height)  # 调用判断图形类型的函数
    print(f'圆锥的表面积为{s:.2f}, 体积为{v:.2f}')                      # 输出函数运行结果

 第七关:

输入和输出:

测试输入:
6 6
预期输出:
正三棱柱的表面积为139.18, 体积为93.53

代码:

import math

def tri_prism(side, height):
    """接收正三棱柱的底边长和高,返回正三棱柱的表面积和体积"""
    ########################Begin##############################
    s = 2 *(3 ** 0.5 /4 * side * side ) + 3 * side * height
    v = (3 ** 0.5 /4 * side * side )*height
    return s,v
    ########################End##############################

if __name__ == '__main__':
    side, height = map(float, input().split())
    s,v = tri_prism(side, height)  # 调用判断图形类型的函数
    print(f'正三棱柱的表面积为{s:.2f}, 体积为{v:.2f}')                  # 输出函数运行结果

2.5学费计算(project)

 第一关:

输入和输出:

请计算并输出大学第一学期共修多少学分?输入每学分应缴纳的学费(整数,单位为元),计算并输出第一学期应缴纳多少学费?输出格式请参考输入输出示例。

输入:
328
输出:
你本学期选修了17个学分。
你应缴纳的学费为5576元。

相关知识:

记得eval,不然会输出字符串80输出17次

代码:

python = 3
math = 4
english = 4
physical = 2
military_theory = 2
philosophy = 2
# 补充你的代码
all = python+math+english+physical+military_theory+philosophy
a = eval(input())

print(f'你本学期选修了{all}个学分。')
last = a * all
print(f'你应缴纳的学费为{last}元。')

 第二关:

输入和输出:

大学可以申请助学贷款,申请额度不超过学费和生活费总额的 60%,输入你每个月的生活费(浮点数),请计算你每个学期能够贷款多少元?(结果保留小数点后 2 位数字,每个学期按 5 个月计算)

测试输入(冒号后面为用户输入信息):
请输入每学分学费金额:328
请输入你每个月生活费:1600
预期输出:
本学期你能够贷款8145.60元

代码:

python = 3
math = 4
english = 4
physical_education = 2
military_theory = 2
philosophy = 2
# 补充你的代码

all = python+math+english+physical_education +military_theory+philosophy
a = eval(input('请输入每学分学费金额:'))
money = eval(input("请输入你每个月生活费:"))

last = a * all

sum = (last + money*5)*0.6

print(f'本学期你能够贷款{sum:.2f}元')

 2.6弧田术(project测试)

 第一关:

输入和输出:

今有弧田,弦三十步,矢十五步。
问:为田几何?
答曰:一亩九十七步半。
今又有弧田,弦七十八步二分步之一,矢十三步九分步之七。问:为田几何?

公式:s = 1/2*(b*h+h**2)

弓形田地面积为1亩零97.50平方步
弓形田地面积为**亩零**.**平方步

代码:

# 请在下面补充你的代码
b,h = 30,15 
s = 1/2*(b*h+h**2)
left = s%240
s = s//240
print(f'弓形田地面积为{s:.0f}亩零{left:.2f}平方步')
b= 78.5
h = 13+7/9
s = 1/2*(b*h+h**2)
left = s%240
s =s//240
print(f'弓形田地面积为{s:.0f}亩零{left:.2f}平方步')

 第二关:

输入和输出:

测试输入:
97.56
24.65
预期输出:
弓形田地面积为6亩零66.24平方步

代码:

b = eval(input())
h = eval(input())
s = 1/2*(b*h+h**2)
left = s%240
s = s//240
print(f'弓形田地面积为{s:.0f}亩零{left:.2f}平方步')

 第三关:

输入和输出:

测试输入:
97.56
24.65
预期输出:
弧田法计算弓形田地面积为6亩零66.24平方步
现代方法计算弓形田地面积为7亩零2.36平方步

代码:

# 请在下面补充你的代码
'''
AB 是圆的一条弦,ABC形成一个弓形,在两行中分别输入AB和CD的长度,计算输出弓形面积的大小,结果均严格保留小数点后2位有效数字,应用三角函数和反三角函数时查阅math模块文档或利用自动补全完成。
'''

import math

AB = float(input())  # 弦长度
CD = float(input())  # 弓高度

s = 1/2*(AB*CD+CD**2)
left = s%240
s = s//240
print(f'弧田法计算弓形田地面积为{s:.0f}亩零{left:.2f}平方步')

# 半弦长
AD = AB / 2
# 半径
OA = (AD ** 2 + CD ** 2) / (2 * CD)

# 圆心角
AOB = 2 * math.asin(AD / OA)
################Begin######################
# 弓形所在扇形的面积
sector = AOB/(2*math.pi)*math.pi*OA**2
# 三角形面积
triangle = 1/2*OA**2*math.sin(AOB)
# 弓形面积
area_of_arch =  sector - triangle

left = area_of_arch %240
area_of_arch = area_of_arch //240

################End######################
print(f'现代方法计算弓形田地面积为{area_of_arch:.0f}亩零{left:.2f}平方步')

 第四关:

输入和输出:

测试输入:
30
16
预期输出:
宛田法计算扇形田地面积为0亩零120.00平方步

代码:

# 请在下面补充你的代码
# 请在下面补充你的代码
'''
AB 是圆的一条弦,ABC形成一个弓形,在两行中分别输入AB和CD的长度,计算输出弓形面积的大小,结果均严格保留小数点后2位有效数字,应用三角函数和反三角函数时查阅math模块文档或利用自动补全完成。
'''

import math

AB = float(input())  # 弦长度
CD = float(input())  # 弓高度

s = AB*CD/4
left = s%240
s = s//240
print(f'宛田法计算扇形田地面积为{s:.0f}亩零{left:.2f}平方步')

 第五关:

输入和输出:

先计算并输出A、B、C、D四个选项的值,再用会圆法计算并输出弧长。

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

测试输入:
本关无输入

预期输出:
a=*.****,b=*.****,c=*.****,d=*.****
会圆法计算弧长为*.****

代码:

# 请在下面补充你的代码
import math
a = (11-3*math.sqrt(3))/2
b = (11-4*math.sqrt(3))/2
c = (9-3*math.sqrt(3))/2
d = (9-4*math.sqrt(3))/2
print(f'a={a:.4f},b={b:.4f},c={c:.4f},d={d:.4f}')
print(f'会圆法计算弧长为{b:.4f}')

 第六关:

输入和输出:

分别在两行内输入表示半径和圆心角角度值的整数,计算圆心角对应的弧长,计算中圆周率用math库中的pi,结果精确保留2位小数。

弧长公式
l=n×π×r÷180=a×r
n:圆心角
r:圆的半径
α:圆心角弧度数
π:圆周率

测试输入:
2
60

预期输出:
弧长为2.09

代码:

# 请在下面补充你的代码
import math
r = eval(input())
n = eval(input())
l=n*math.pi*r/180
print(f'弧长为{l:.2f}')

简单的数学运算器

输入和输出:

测试输入:
3
8

预期输出:
和:11.00
差:-5.00
积:24.00
商:0.38

代码:

# 请补充你的代码
a = eval(input("请输入第一个数字:"))
b = eval(input("请输入第二个数字:"))
print(f'和:{a+b:.2f}')
print(f'差:{a-b:.2f}')
print(f'积:{a*b:.2f}')
print(f'商:{a/b:.2f}')

经纬度距离计算器

输入和输出:

测试输入:
39.906217
116.3912757
30.5848089
114.2093718
预期输出:
两点之间的距离为:1055.16 公里

3.角度转换为弧度:

使用 math.radians() 将输入的度数转换为弧度,以便进行三角运算。
4.Haversine公式:

dlat 和 dlon 分别计算纬度和经度的差值(弧度)。
a 和 c 是Haversine公式的中间计算步骤。
r 是地球半径,单位为公里。
distance 计算两点之间的距离。

代码:

# 请补充你的代码
import math
a1 = float(input(f'请输入第一个点的纬度(度):'))
b1 = float(input(f'请输入第一个点的经度(度):'))
a2 = float(input(f'请输入第二个点的纬度(度):'))
b2 = float(input(f'请输入第二个点的经度(度):'))
r = 6371

a1 = math.radians(a1)
b1 = math.radians(b1)
a2 = math.radians(a2)
b2 = math.radians(b2)
dlat = abs(a1 - a2)
dlon = abs(b1 - b2)


last = 2 * r *math.asin(math.sqrt(math.sin(dlat/2)**2 + math.cos(a1) * math.cos(a2) *math.sin(dlon/2) ** 2))
print(f'两点之间的距离为:{last:.2f} 公里')

Python第二章作业

第一关:

输入和输出:

输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式:

输入:
3
4
5
输出:
周长=12.00
面积=6.00

代码:

import math
a = eval(input())
b = eval(input())
c = eval(input())
s = (a + b + c)/2
area = math.sqrt(s*(s - a)*(s - b)*(s - c))
print(f'周长={a+b+c:.2f}')
print(f'面积={area:.2f}')

 第二关:

输入和输出:

计算并输出x的值(精确保留两位小数,保留输出数字末尾的0),a和b的值由用户输入,括号里的数字是角度值.

输入:
3
7
输出:
-0.90

代码:

import math
a = float(input())
b = float(input())
x = (-b+math.sqrt(2*a *math.sin(math.radians(60)) *math.cos(math.radians(60))))/(2*a)
print(f'{x:.2f}')

 第三关:

输入和输出:

输入:
1
4
4
输出:
-2.00

代码:

import math
a = float(input())
b = float(input())
c = float(input())
x = (-b+math.sqrt(b**2-4*a*c))/(2*a)
print(f'{x:.2f}')

 第四关:

输入和输出:

第一行输入一个数字,代表矩形的长
第二行输入一个数字,代表矩形的宽
(输入使用input(),不要增加额外的提示信息)

输出格式
输出矩形的面积,不限定小数位数

示例1
输入:
3.1415926
5.88
输出:
18.472564488

代码:

a = eval(input())   #输入整数字符串,转换为整数;输入浮点数字符串,转换为浮点数
b = eval(input())  #输入整数和浮点数,都转换为浮点数
print(a*b)

 第五关:

输入和输出:

披萨的尺寸一般分6-15英寸几种,一英寸约等于2.54厘米,将英寸直径乘以2.54即可得出以厘米为单位的直径。例如6寸披萨,即为6乘以2.54,得出结果为15.24厘米。 然而披萨加工时并不是严格到毫米不差的,考虑到加工过程及无效的披萨边,真正的有效直径需要去掉小数点后面数字。例如6寸披萨的标准直径为15.24厘米,实际有效直径一般为15厘米。
披萨店经常会对顾客说:您订购的某尺寸的披萨卖完了,是否可以更换为多个小尺寸的披萨。例如:您订购的9寸披萨卖完了,可以给您2个6寸的披萨吗?
假设披萨厚度相同,价格与面积成正比,试问一个m英寸的大披萨至少要更换几个n英寸的小披萨,顾客才不吃亏?

输入:
9
6
输出:
3

代码:

import math
line = 2.54
m = eval(input())
n = eval(input())
area_m = math.pi * m**2
area_n = math.pi * n**2
change = area_m/area_n

if change/1 != change//1:
    print(int(change + 1)//1)
else:
    print(int(change))

 第六关:

输入和输出:

在三行中依次输入初始存款金额,存款年限,年利率,每年末计一次利息并转为本金,计算并输出存款到期时的利息(不含本金,税前),结果保留2位小数。
复利法,每年末计算利息并自动转存:
F=P×(1+i) 
N
 
F:复利终值
P:本金
i:利率
N:利率获取时间的整数倍(年限)

输入:
1000
3
0.025
输出:
利息=76.89

代码:

import math
cash = float(input())
year = float(input())
i = float(input())

F= cash*((1 + i)**year)-cash
print(f'利息={F:.2f}')

 第七关:

输入和输出:

输入格式
输入一个数字

输出格式
输出 n 的绝对值

示例
输入
-5
输出
5

代码:

import math
n = eval(input())
print(abs(n))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值