以下代码将产生什么作为输出?
temp = '32'
if temp > 85:
print "Hot"
elif temp > 62:
print "Comfortable"
else:
print "Cold"
您正在比较字符串和整数。Python 是一种强类型语言:出于很好的理由,它不会自动为您转换类型。
>>> 1e320 > '0'
False
如果您知道这些值将属于同一类型,则应强制进行类型转换。
>>> 1e320 > int('0')
True
但是,如果您要在那里定义值,请以使比较有效的方式定义它。
temp = 32 # not '32'
if temp > 85:
print "Hot"
elif temp > 62:
print "Comfortable"
else:
print "Cold"
这是
完全可以预测的。你只需要意识到正在比较什么。 temp
是一个字符串,Python 不会自行将其解析为 int。从逻辑上讲,第一个字符与整数进行比较(否则我相信它总是