第2关:海啸等级计算
任务描述
海啸是一种具有强大破坏力的海浪,常由海底地震、火山爆发、海底滑坡等事件引发,海啸冲上陆地后往往会造成巨大的损失。为更好地对海啸进行研究,科学家定义了海啸等级的计算方法,下面是其中一种:
Mt=log10H+log10D+5.8
其中,H 是潮位计观测到的海啸波最大振幅(单位为米)、D 是观测站到海啸中心的直线距离(单位为千米)。 本关任务是根据上式计算海啸等级 Mt。
相关知识
在求解该问题的过程中,需要计算对数,可以使用 math 库中的log
函数。例如下面程序计算的是 log216。
import math
x = math.log(16, 2)
print(x)
math 库的其他数学功能可参考官方说明文档。
注:在学习过程中,可以在右边编程窗口中尝试示例程序,先删除所有初始代码,再在编程窗口输入示例程序,点击右下角的“评测”按钮后,就可以在“测试集1”的“实际输出”界面查看示例程序的运行结果。
编程要求
补全 Begin-End 区间的代码,其功能是根据给定的振幅 H(用变量H
表示)与距离 D(用变量D
表示),计算海啸等级 Mt(用变量Mt
表示),说明如下: 1)H
和D
的值在程序运行时由系统自动设置(初始代码第 2-3 行),不要再额外设置,编程时假设其已知即可; 2)初始代码最后一行是打印计算结果,不要再额外添加打印语句,按要求算出变量Mt
的值即可; 3)不要改动 Begin-End 区间之外的代码。 注:如果之前修改了右侧编辑器中的初始代码,请先点击右上角的“恢复初始代码”进行恢复,再完成过关程序。
测试说明
本关共有若干测试集,在每个测试集中,系统会自动设置变量H
和D
的值,程序的功能是据此计算Mt
的值。例如,测试集 1 的输入是:
0.1
500
测试集 1 的运行结果为:
7
开始你的任务吧,祝你成功!
wp
import math
H = eval(input()) #获取振幅H
D = eval(input()) #获取距离D
########## Begin ##########
Mt = math.log(10,H)+math.log(10,D)+5.8
########## End ##########
print(int(Mt)) #打印海啸等级(保留整数)