第4关:异常处理 - 华氏-摄氏温度换算
编程要求
在右侧编辑器中有一个函数Read,它有一个参数data。data是一个列表,它的第一个元素应该是一个float型的华氏温度,但有些时候,这个元素会缺失。
要求在Read函数中将data的第一个元素转化成摄氏度然后输出,当出现数据缺失时,使用异常处理,处理的过程为输出一句提示语error:请输入华氏温度。
输入数据由评测系统接收并转化成一个列表传递给Read函数,期间产生的输出将与规定的输出进行比较,具体要求请见测试说明。
def Read(data):
#读取data中的华氏温度,并输出摄氏温度
def Read(data):
#读取data中的华氏温度,并输出摄氏温度
# 请在此添加实现代码 #
# ********** Begin *********#
try:
data[0] != 'None'
except:
print ("error:请输入华氏温度")
else:
C=(data[0]-32)/1.8
print(C)
56
—— 预期输出 —— —— 实际输出 ——
13.333333333333334 13.333333333333332
报错!
就离谱,公式不能写成C=(data[0]-32)/1.8,要写成C=(data[0]-32)*5/9
def Read(data):
#读取data中的华氏温度,并输出摄氏温度
# 请在此添加实现代码 #
# ********** Begin *********#
try:
data[0] != 'None'
except:
print ("error:请输入华氏温度")
else:
C=(data[0]-32)*5/9
print(C)
56
—— 预期输出 —— —— 实际输出 ——
13.333333333333334 13.333333333333334
为啥?????
该编程任务涉及在Python中处理异常,确保从列表中正确提取并转换华氏温度到摄氏温度。当数据缺失时,程序需能捕获异常并输出错误提示。提供的代码示例中,函数首先尝试读取数据并进行温度转换,若数据缺失则抛出异常并打印错误信息。然而,初始代码中的温度转换公式有误,已修正为正确的转换公式。
3202

被折叠的 条评论
为什么被折叠?



