python 显示 none 而不是空 space
python shows none instead of empty space
我正在尝试一个文件处理练习,它可以转换温度并将其写入文件。我程序的功能部分是:
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时不要在文本文件中写入任何消息。即对于一组值 temperatures = [10,-20,-289,100] 期望输出应该是:
50.0
-4.0
212.0
但我不断收到
50.0
-4.0
None
212.0
为什么传递返回 "None" 值而不是传递(什么都不做)。
这是我的主要方法:
file = open("temp_file.txt", "w+")
for i in temperatures:
k = c_to_f(i)
file.write(str(k) + "\n")
file.close()
如果没有 return
语句,默认情况下 Python returns None
来自函数。
在使用条件将输出写入文件之前,您可以检查值是否为 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")
当您分配 k = c_to_f(i)
时,当 c_to_f
通过时,您期望 k
是什么?这是 None
,因为您没有返回任何东西。
如果是None
,你可以跳过写这行。
for i in temperatures:
k = c_to_f(i)
if k:
file.write(str(k) + "\n")
我正在尝试一个文件处理练习,它可以转换温度并将其写入文件。我程序的功能部分是:
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时不要在文本文件中写入任何消息。即对于一组值 temperatures = [10,-20,-289,100] 期望输出应该是:
50.0
-4.0
212.0
但我不断收到
50.0
-4.0
None
212.0
为什么传递返回 "None" 值而不是传递(什么都不做)。
这是我的主要方法:
file = open("temp_file.txt", "w+")
for i in temperatures:
k = c_to_f(i)
file.write(str(k) + "\n")
file.close()
如果没有 return
语句,默认情况下 Python returns None
来自函数。
在使用条件将输出写入文件之前,您可以检查值是否为 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")
当您分配 k = c_to_f(i)
时,当 c_to_f
通过时,您期望 k
是什么?这是 None
,因为您没有返回任何东西。
如果是None
,你可以跳过写这行。
for i in temperatures:
k = c_to_f(i)
if k:
file.write(str(k) + "\n")