zsc_python习题:数值类型(part1)

数值类型自学引导

 第一关:

输入和输出:

测试输入:
5
预期输出:
25

代码:

# 输入一个正整数,以其数值为正方形的边长,计算并输出正方形的面积
a = int(input())
print(a * a)

 第二关:

输入和输出:

测试输入:
1.25
预期输出:
1.5625

代码:

# 输入一个正浮点数,以其数值为正方形的边长,计算并输出正方形的面积
t = float(input())
print(t * t)

 第三关:

输入和输出:

测试输入:
1.25
预期输出:
1.5625
测试输入:
5
预期输出:
25

代码:

## 计算正方形面积,结果数据类型与输入保持一致
t = eval(input())
print(t * t)

 第四关:

输入和输出:

测试输入:
6.259
预期输出:
39.1751
测试输入:
6.2000008
预期输出:
38.44

相关知识:

round(number, n)可将浮点数number小数部分取舍,最多保留n位小数,结果保留浮点数的最短表示。

代码:

## 计算正方形面积,输出结果最多保留4位小数
t = eval(input())
print(round(t * t,4))

 第五关:

输入和输出:

测试输入:
5.268
预期输出:
area = 27.75平方米
测试输入:
5.00006
预期输出:
area = 25.00平方米

相关知识:

用:.f表示小数点后面第几位

代码:

## 计算正方形面积,输出结果精确保留2位小数
t = eval(input())
t = round(t * t ,2)
print(f"area = {t:.2f}平方米")

 第六关:

输入和输出:

测试输入:
-6.83
预期输出:
volume = 318.61立方米
测试输入:
-5.00006
预期输出:
volume = 125.00立方米

代码:

## 计算正方体的体积,当输入为负值时取其绝对值做棱长
a = eval(input())
a = abs(a * a * a)
print(f"volume = {a:.2f}立方米")

 第七关:

输入和输出:

测试输入:
2.6 50.286 26.524 -88.011 40.25
预期输出:
volume = 127157.29立方米

注意:要求是用最大数的绝对值做棱长,不是用绝对值最大的数做棱长
测试输入:
-2 -50 -26 -88 -40
预期输出:
volume = 8.00立方米

代码:

## 从输入中选择最大数的绝对值做为棱长计算正方体的体积
# 下面语句用于接收用空格分隔的多个输入,请不要修改
width_ls = list(map(float, input().split()))

# print(width_ls)  # 取消注释可查看输入的数据
# 当输入为:2 50 26 88 40时,width_ls的值是[2.0, 50.0, 26.0, 88.0, 40.0]
# 不要直接从以上数据中人工选择,测试数据与示例不同,用函数获取
# 不能保证输入的最大值为正值,当最大值仍为负数时,取其绝对值做为棱长

# 在下面补充你的代码,使之能用输入的最大值做棱长计算正方体的体积
a = abs(max(width_ls))
a = a * a *a
print(f"volume = {a:.2f}立方米")

 第八关:

输入和输出:

测试输入:
5
预期输出:
area = 15.708

相关知识:

import math  
# 引用库中函数时函数名前需加math.:
from math import *  # 一个或多个逗号分隔的函数或用*导入全部函数  
# 引用库中函数时不需要加math.

代码:

## 补充一条语句,导入math库
import math

num = int(input())

# 补充一条语句,用输入的数字的正数平方根为半径,
num = math.sqrt(num)

# 补充一条语句,用math库中的圆周率常数计算圆的面积
area = math.pi * num **2

# 输出时精确保留小数点后3位数字
print(f'area = {area:.3f}')

 第九关:

输入和输出:

测试输入:
3,6
预期输出:
6
720

相关知识:

最大公约数:math.gcd(*integers)

最小公倍数函数:math.lcm(*integers)

阶乘函数:math.factorial(x)

代码:

# 补充一条语句,导入math库
import math

# 将用半角逗号分隔的两个数字转数值型并分别赋值给num1, num2
# 例如输入'15, 20',则num1=15,num2=20
num1, num2 = eval(input())

# 计算最大公约数,在等号后面补充代码,将num1, num2的最大公约数赋值给greatest_common_divisor
# 若手机输入不方便,可将greatest_common_divisor改为短变量名g_c_d
g_c_d = math.gcd(num1,num2)
# 补充一行代码,输出最大公约数的阶乘
print(math.factorial(g_c_d))

# 计算最小公倍数,在等号后面补充代码,将num1, num2的最小公倍数赋值给lowest_common_multiple
# 若手机输入不方便,可将lowest_common_multiple改为短变量名l_c_m
l_c_m = math.lcm(num1,num2)
# 补充一行代码,输出最小公倍数的阶乘
print(math.factorial(l_c_m))

   2.1矩形面积运算(project)

 第一关:

输入和输出:

测试输入:
4
32
预期输出:
128

代码:

##计算整数边长矩形面积
a = int(input())
b = int(input())
print(a * b)

 第二关:

输入和输出:

测试输入:
4.65
6.8

预期输出:
31.62

测试输入:
5
8

预期输出:
40.0

代码:

## #计算整数边长矩形面积
a = float(input())
b = float(input())
print(a * b)

 第三关:

输入和输出:

测试输入:
4.65
6.8

预期输出:
31.62

测试输入:
5
8

预期输出:
40

代码:

## #计算整数边长矩形面积
a = eval(input())
b = eval(input())
print(a * b)

 第四关:

输入和输出:

测试输入:
2.58
6.58

预期输出:
16.976

测试输入:
5
8

预期输出:
40.0

代码:

## #计算整数边长矩形面积
a = float(input())
b = float(input())
print(round(a*b,3))

 第五关:

输入和输出:

测试输入:
2.58
6.58

预期输出:
16.98

测试输入:
5
8

预期输出:
40.00

代码:

# 请补充你的代码
# #计算整数边长矩形面积
a = float(input())
b = float(input())
area = a * b
print(f"{area:.2f}")

 第六关:

输入和输出:

测试输入:
6.58
2.58

预期输出:
长为6.58宽为2.58的矩形面积为16.98

测试输入:
62
50

预期输出:
长为62.0宽为50.0的矩形面积为3100.00

代码:

# #计算整数边长矩形面积
a = float(input())
b = float(input())
area = a * b
print(f"长为{a}宽为{b}的矩形面积为{area:.2f}")

2.2地球数据计算闯关(project)

 第一关:

输入和输出:

计算地球表面积,半径默认为6371千米

代码:

## 请补充你的代码
import math
r = 6371
area = 4 * math.pi * r**2
area = area /10000
print(f"地球表面积为{area:.4f}万平方千米")

 第二关:

输入和输出:

计算地球体积,半径默认为6371千米

代码:

import math
r = 6371
area = 4/3 * math.pi * r**3
area = area /10000
print(f"地球体积为{area:.4f}万立方千米")

 第三关:

输入和输出:

计算地球赤道周长,半径默认为6371千米

代码:

# 请补充你的代码
import math
r = 6371
area = 2 * math.pi * r
area = area 
print(f"地球赤道周长为{area:.4f}千米")

 第四关:

输入和输出:

判断老鼠能否从空隙钻过

假设有一根绳子正好可以紧贴地球绕赤道一周,紧密的捆绑住地球。现在将绳子延长1m,仍围绕地球赤道一周。
假设绳子与地球表面间空隙均匀,计算绳子与地球之间的空隙大小。

假设一只老鼠身体截面可近似为圆柱,且圆柱直径不大于
10cm(0.1米),判断一只正常大小的老鼠能否从这个空隙穿过?
若可钻过则输出:“老鼠可以从空隙中钻过”,否则输出:“老鼠无法通过空隙”。

预期输出:
空隙大小为0.159米
老鼠可以从空隙中钻过

代码:

## 请补充你的代码
import math
R = 6371000
L1 = 2 * math.pi * R
L2 = 2 * math.pi * R + 1
r = L2/(2 * math.pi)
distance = r - R
print(f'空隙大小为{distance:.3f}米')
if distance >0.1:
    print("老鼠可以从空隙中钻过")
elif distance <=0.1:
    print("老鼠不可以从空隙中钻过")

 第五关:

输入和输出:

计算地球的重量

预期输出:
地球质量约为xxxxx.x万亿吨
地球质量约为xxxxe+xx千克

相关知识:

学会科学计数法:

f'地球质量约为{mass:e}万亿吨'
'地球质量约为{:e}吨'.format(mass)

代码:

## 请补充你的代码
import math
a = 5507.85

r = 6371000
v = 4/3 * math.pi * r**3
m =a * v
m = m /(10000*10000*10000000)
print(f'地球质量约为{m:.1f}万亿吨')
m = m *(10000*10000*10000000)
print('地球质量约为{:e}千克'.format(m))

2.3计算弓形的面积

 第一关:

输入和输出:

圆的半径求解

测试输入:
26.5
8
预期输出:
14.97

相关知识:

输出的时候要用print(f'{OA:.2f}'.format(OA))

代码:

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

import math

AB = float(input())  # 弦长度
CD = float(input())  # 弓高度
############Begin###############
# 半弦长
AD = AB/2

# 半径
OA = (AD**2 + CD**2)/(2*CD)
print(f'{OA:.2f}'.format(OA))
############End###############

 第二关:

输入和输出:

测试输入:
26.5
8
预期输出:
151.16

相关知识:

主要看最后一部分的输出

代码:

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

import math

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

# 半弦长
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

print(f'{area_of_arch:.2f}')
################End######################

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值