温度(python

文章讲述了作者解决一个编程问题的过程,涉及如何在Python中处理输入温度,找到最接近0的温度,以及处理无输入和温度范围限制的情况。
摘要由CSDN通过智能技术生成

题目:

输入温度,输出最接近0的那个。第一排输入温度个数,第二排输入温度。当未提供温度时,输出为0。如果两个温度同样接近0,则取正数。

代码:

import sys
import math

# Auto-generated code below aims at helping you parse
# the standard input according to the problem statement.
min =5526
n = int(input())

# the number of temperatures to analyse

if n>0:
    for i in input().split():
        # t: a temperature expressed as an integer ranging from -273 to 5526
        t = int(i)
        if math.fabs(min) > math.fabs(t):
            min = t
        elif math.fabs(min) == math.fabs(t):
            if t > 0:
                min = t
    print(min)
else:
    print('0')

其他:

1.在未提供温度则输出为0上卡了很久,后面在github上找到了答案(应该是),然后参考了思路解决了这个问题,即设置一个判断,当无输出温度时人在第一排输入0(n=0),则输出0。但是当时陷入了一个误区,即我想通过判断第二排来确认是否无输入(即第一排输入多少无所谓,所以当时在测试的时候尽管第二排无温度输入,但我会在第一排输入5),比如说通过字符串长度之类的方式来实现,结果失败,但我还是觉得这是因为我对于python的了解还不够深,应该是可以通过这种方式实现的(不死心)。

2.尽管通过了测试,但是在提交的时候并没有满分,因为规定了温度输入范围为-273至5526,而我在最开始编写代码的时候,给min的赋值为-273,这也就导致当输入为5526时,输出依旧为-273,导致出错,而后我将min的赋值改为5526,成功通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值