大学计算——基于Python的计算思维与工程实践能力训练 第四章 输入和错误处理(错题集)

该编程任务涉及在Python中处理异常,确保从列表中正确提取并转换华氏温度到摄氏温度。当数据缺失时,程序需能捕获异常并输出错误提示。提供的代码示例中,函数首先尝试读取数据并进行温度转换,若数据缺失则抛出异常并打印错误信息。然而,初始代码中的温度转换公式有误,已修正为正确的转换公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第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

为啥?????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值