Python123题库—03数值运算(V)
03数值计算(V)
1. 计算矩形面积
类型:数值运算
描述
用户输入矩形的长和宽,计算其面积并输出。
a = eval(input()) #输入整数字符串,转换为整数;输入浮点数字符串,转换为浮点数
b = float(input()) #输入整数和浮点数,都转换为浮点数
c = int(input()) #只接受整数输入,输出为整数
#eval()和float()函数都可以把input() 函数接收到的数值型字符串转为数值类型
#例:float("3.14") 的结果是数值 3.14
#int()函数可以把整数字符串转为整数
#例:int("5") 的结果是数值 5
输入格式
第一行输入一个数字,代表矩形的长
第二行输入一个数字,代表矩形的宽
(输入使用input(),不要增加额外的提示信息)
输出格式
输出矩形的面积,不限定小数位数
示例 1
输入:
3.1415926
5.88
输出:
18.472564488
示例 2
输入:
5
8
输出:
40
答案
width = eval(input()) # 输入宽
length = eval(input()) # 输入长
area = width * length # 计算面积
print(area) # 输出面积
2. 计算矩形面积结果保留两位小数
类型:数值运算
描述
用户输入矩形的长和宽,计算其面积,输出时精确保留2位小数。
输入格式
第一行输入一个正数,作为矩形的长
第二行输入一个正数,作为矩形的宽
输出格式
矩形的面积值,保留2位小数
示例
输入:
5.8988
9.72
输出:
57.34
输入:
5
8
输出:
40.00
答案
width = eval(input()) # 输入宽
length = eval(input()) # 输入长
area = width * length # 计算面积
print("{:.2f}".format(area)) # 格式化输出面积
# .2表示取小数点后2位数字,f表示浮点型
# 或
# print("%.2f" % area)
3. 计算多个垫片面积的和
类型:数值运算
描述
垫片是在一个圆的中心挖去一个半径小一些的同心圆形成的带孔圆片,用户输入垫片的外圆半径、内孔半径和数量,计算多个垫片的面积之和。(圆周率用3.14159,结果保留小数点后2位数字)
输入格式
第一行输入一个正数,作为外圆半径;
第二行输入一个正数,作为内孔半径;
第三行输入一个正整数,作为数量;
输出格式
一个浮点数,多个垫片面积之和
示例
输入:
8
5
10
输出:
1225.22
答案
PI = 3.14159 # 定义Pi值精确度
R = float(input()) # 输入外圆半径R
r = float(input()) # 输入内孔半径r
n = int(input()) # 输入数量n
area_of_sum = n * (PI * R * R-PI * r * r) # 计算总面积
print("{:.2f}".format(area_of_sum)) # 格式化输出
# 或
# print(f"{area_of_sum:.2f}") # 格式化输出
# print("%.2f" % area_of_sum) # 格式化输出
4. 换披萨
类型:数值运算
描述
披萨的尺寸一般分6-15英寸几种,一英寸约等于2.54厘米,将英寸直径乘以2.54即可得出以厘米为单位的直径。例如6寸披萨,即为6乘以2.54,得出结果为15.24厘米。 然而披萨加工时并不是严格到毫米不差的,考虑到加工过程及无效的披萨边,真正的有效直径需要去掉小数点后面数字。例如6寸披萨的标准直径为15.24厘米,实际有效直径一般为15厘米。
披萨店经常会对顾客说:您订购的某尺寸的披萨卖完了,是否可以更换为多个小尺寸的披萨。例如:您订购的9寸披萨卖完了,可以给您2个6寸的披萨吗?
假设披萨厚度相同,价格与面积成正比,试问一个m英寸的大披萨至少要更换几个n英寸的小披萨,顾客才不吃亏?
输入格式
输入有2行
第一行输入整数m(英寸),代表订购的大披萨; 第二行输入整数n(英寸),代表推荐更换的小披萨;
输出格式
整数,更换小披萨的数量
示例
输入:
9
6
输出:
3
答案
import math
m = int(input())
n = int(input())
radius_of_m = int(m * 2.54) / 2 # 第一个披萨的半径
area1 = 3.14159 * radius_of_m * radius_of_m # 第一个披萨的面积
radius_of_n = int(n * 2.54) / 2 # 15.24 # 第二个披萨的半径
area2 = 3.14159 * radius_of_n * radius_of_n # 第二个披萨的面积
print(math.ceil(area1 / area2)) # math.ceil()是向上取整,例如2.151,向上取整为3
5. 计算矩形面积
类型:数值运算
描述
用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
输入格式
第一行输入一个浮点数,代表矩形的长
第二行输入一个浮点数,代表矩形的宽
输出格式
矩形的面积(保留两位小数)
示例
输入:
5.899
4.567
输出:
26.94
答案
length = eval(input())
width = eval(input())
area = length * width
print(round(area, 2)) # round(x,y),将x四舍五入,保留y位小数,round(x)返回四舍五入整数值
# 或
# print("%.2f" % area) # 保留两位小数输出,默认是四舍五入
6. 求绝对值
类型:数值运算
描述
用户输入一个数字 n,输出 n 的绝对值,要求保持输出结果与输入数据的类型相同,即:输入浮点数,输出仍为浮点数;输入整数,输出仍为整数。
输入格式
输入一个数字
输出格式
输出 n 的绝对值
示例
输入
-5
输出
5
答案
n = eval(input())
print(abs(n)) # abs()是求绝对值函数
7. 三角函数计算
类型:数值运算
描述
根据下面公式计算并输出x的值,a和b的值由用户输入,括号里的数字是角度值, 要求圆周率的值使用数学常数math.pi,开平方使用math库中开平方函数,三角函数的值用math库中对应的函数进行计算 。
输入格式
输入包括两行, 每行一个数字。
输出格式
表达式的值
示例
输入:
2
5
输出:
-0.9209814967618768
答案
import math
a = eval(input())
b = eval(input())
x = (-b+math.sqrt(2 * a * math.sin(math.pi / 3)*math.cos(math.pi / 3)))/(2 * a)
print(x)
8. 表达式求值
类型: 数值运算
描述
利用下面公式计算并输出 x 的值。
输入格式
在 3 行中分别输入一个浮点数(测试数据保证根号下的值大于或等于 0,且a不为零 )
输出格式
一个实数,严格保留小数点后2位数字。
示例
输入:
1
4
4
输出:
-2.00
答案
import math
a = float(input())
b = float(input())
c = float(input())
x = (-b + (math.sqrt(b * b - 4 * a * c))) / (2 * a)
print("%.2f" % x)
9. 除法运算
类型:数值运算
描述
输入两个整数 a
和 b
,计算并输出他们 a
对 b
做整除和 a
除以 b
的结果。
输入格式
第一行输入一个整数 a
第二行输入一个整数 b
输出格式
第一行输出 a 对 b 做整除的结果
第二行输出 a 除以 b 的结果
示例
输入:
8
2
输出:
4
4.0
答案
def division(m, n):
"""接收两个整数 m 和 n为参数,
第一行输出 m 对 n 做整除的结果。
第二行输出m 除以 n 的结果。
函数没有返回值。
"""
print(m // n) # m 对n 整除
print(m / n) # m 除以n
if __name__ == "__main__":
a = int(input())
b = int(input())
division(a, b) # 调用函数计算除法
10. 幂运算
类型:数值运算
描述
python中有一个幂函数,可以计算ab
pow(a,b)
或用幂运算符
a ** b
这个函数也可以用于求 ab 对 m 取模的运算
pow(a,b,m)
分三行输入三个整数 a,b,m,在两行中分别输出 a 的 b 次幂和 ab 对 m 取模的结果
输入格式
分三行输入三个整数 a,b,m
输出格式
a 的 b 次幂
ab 对 m 取模
示例
输入:
3
4
5
输出:
81
1
答案
a = int(input())
b = int(input())
m = int(input())
print(pow(a, b))
print(pow(a, b, m)) # 表示a的b次幂对m取模
11. 大数幂运算
类型:数值运算
描述
Python 中整数大小几乎不受限制,若不考虑内存限制,可以计算任意大的整数。
分四行输入4个整数 a、b、c、d,计算
$$
a^b + c^d
$$
的结果。
输入格式
分四行输入4个整数 a,b,c,d
输出格式
输出 ab + cd 的结果
示例
输入:
9
29
7
27
输出:
4710194409608608369201743232
答案
a = int(input())
b = int(input())
c = int(input())
d = int(input())
result = pow(a, b) + pow(c, d)
print(result)
12. 整数四则运算
类型:数值运算
描述
编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内且除数不为0。
输入格式
在第一行中接收一个正整数A
在第二行中接收一个正整数B
输出格式
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
示例
输入:
2
4
输出:
2 + 4 = 6
2 - 4 = -2
2 * 4 = 8
2 / 4 = 0.5
答案
A = int(input())
B = int(input())
print(f"{A} + {B} = {A + B}")
print(f"{A} - {B} = {A - B}")
print(f"{A} * {B} = {A * B}")
print(f"{A} / {B} = {A / B}")
13. 计算存款利息
类型:数值运算
描述
在三行中依次输入初始存款金额,存款年限,年利率,每年末计一次利息并转为本金,计算并输出存款到期时的利息(不含本金,税前),结果保留2位小数。
复利法,每年末计算利息并自动转存:
F=P×(1+i)^N
F:复利终值
P:本金
i:利率
N:利率获取时间的整数倍(年限)
输入格式
第一行输入一个正整数(金额)
第二行输入一个正整数(年限)
第三行输入一个浮点数(年利率)
输出格式
利息=计算结果
示例
输入:
1000
3
0.025
输出:
利息=76.89
答案
import math
P = int(input())
N = int(input())
i = float(input())
F = P * math.pow((1 + i), N)
print("利息="+"%.2f" % (F - P))
14. 三角形周长及面积
类型:数值运算
描述
输入的三角形的三条边a、b、c 的长度,计算并依次输出三角形的周长和面积,结果严格保留2位小数。测试用例的数据保证三角形三边数据可以构成三角形。 三角形面积计算公式: ,其中s=(a+b+c)/2。
import math #导入math库
math.sqrt(x) #调用sqrt函数实现开平方运算,x表示要求值的数据
# 或用幂运算 x ** 0.5 表示开平方
输入格式
分三行输入 3 个浮点数,表示三角形的三个边长
输出格式
周长=xx
面积=xx
示例
输入:
3
4
5
输出:
周长=12.00
面积=6.00
答案
import math
a = float(input())
b = float(input())
c = float(input())
length = a + b + c
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
print("周长=" + "%.2f" % length)
print("面积=" + "%.2f" % area)
15. 谁先掉进陷阱
类型:数值运算
描述
黄鼠狼和狐狸比赛跳跃,黄鼠狼和狐狸每次跳跃距离不同,黄鼠狼每跳一下的距离是skunk 厘米,狐狸每一跳的距离是fox 厘米。
比赛从同一个起点开始,相同方向,同时起跳,跳跃无间隔。赛道上每隔 trap厘米有一个陷阱,若黄鼠狼和狐狸跳跃频率相同,问谁先掉进陷阱?
输入
分三行输入3个整数,分别表示黄鼠狼每跳一下的距离skunk、狐狸每一跳的距离fox和陷阱间距trap
输出
先掉入陷阱的动物名,一个字符串
示例
输入:
22
36
99
输出:
黄鼠狼
答案
import math
def fall_into_trap(skunk, fox, trap):
if math.lcm(skunk, trap) < math.lcm(fox, trap):
return "黄鼠狼"
else:
return "狐狸"
Skunk = int(input())
Fox = int(input())
Trap = int(input())
print(fall_into_trap(Skunk, Fox, Trap))