如果从文本文件读取值后条件未在 python 中执行
if condition does not executed in python after reading values from text file
我不明白为什么我的 if 条件没有在 python 中执行。`
我的文本文件中的值为
0.000 0
0.001 1
0.002 2
f = open(sys.argv[1],"r").readlines()
var=0
for line in f:
new = f[var].split()
Time = new[0]
rev=float(new[1])
var=var+1
if 0.001 > Time :
print " I am here "
我猜你应该重写你的代码:
filename = sys.argv[1]
with open(filename) as f:
for line in f:
time, rev = map(float, line.split())
if time < 0.001:
print("I'm here")
您试图将字符串(Time
变量)与浮点数(0.001
)进行比较 - 这是错误的。在 python 2 中没问题,但总是 False
。我建议你开始使用 python 3 - 你不能用这个版本比较浮点数和字符串:)
我不明白为什么我的 if 条件没有在 python 中执行。` 我的文本文件中的值为
0.000 0 0.001 1 0.002 2
f = open(sys.argv[1],"r").readlines()
var=0
for line in f:
new = f[var].split()
Time = new[0]
rev=float(new[1])
var=var+1
if 0.001 > Time :
print " I am here "
我猜你应该重写你的代码:
filename = sys.argv[1]
with open(filename) as f:
for line in f:
time, rev = map(float, line.split())
if time < 0.001:
print("I'm here")
您试图将字符串(Time
变量)与浮点数(0.001
)进行比较 - 这是错误的。在 python 2 中没问题,但总是 False
。我建议你开始使用 python 3 - 你不能用这个版本比较浮点数和字符串:)