python显示none而不是空格

时间:2018-03-03 16:35:46

标签: python file-handling nonetype

我正在尝试一种文件处理练习,它可以转换温度并将其写入文件。我的程序的功能部分是:

def c_to_f(c):
if c< -273.15:
    pass #"That temperature doesn't make sense!"
else:
    f=c*9/5+32
    return f

在练习说明中,当输入低于-273.15时,要求我不要在文本文件中写任何消息。即对于一组温度= [10,-20,-289,100]的值,期望输出应为:

 50.0
-4.0
212.0 

但我一直在

50.0
-4.0
None
212.0

为什么通过返回&#34;无&#34;价值而不是传递(什么都不做)。

这是我的主要方法:

file = open("temp_file.txt", "w+")
for i in temperatures:
    k = c_to_f(i)
    file.write(str(k) + "\n")
file.close()

1 个答案:

答案 0 :(得分:1)

默认情况下,如果没有None语句,Python将从函数返回return

在使用条件将输出写入文件之前,您可以检查值是否为None。另请注意,使用不在with块中的文件句柄通常是不好的做法(请参阅the docs)。

with open("temp_file.txt", "w+") as file:
    for i in temperatures:
        k = c_to_f(i)
        if k is not None:
            file.write(str(k) + "\n")