当我运行两个语句时,我得到了不同的答案。两者之间有什么区别。 math
和chemistry
处于int
的初始状态。
if float(math) > 70 and float(chemistry) > 70:
if math > 70 and chemistry > 70:
他们不应该给出相同的结果吗?它们是int
的初始状态。
答案 0 :(得分:1)
float()
函数将指定的值转换为浮点数。来自documentation
class float([x])返回从a构造的浮点数 数字或字符串x。
如果参数是字符串,则必须包含一个可能带符号的十进制 或浮点数,可能嵌入在空格中。的 参数也可以是[+ |-] nan或[+ |-] inf。否则,参数可能 是一个普通或长整数或浮点数,以及一个浮点数 具有相同值的点号(在Python的浮点数内) 精度)返回。如果未提供任何参数,则返回0.0。
注意:在传递字符串时,NaN和Infinity的值可能是 返回值,具体取决于基础C库。浮点数接受 字符串nan,inf和-inf表示NaN和正负无穷大。 忽略大小写和前导+,也忽略前导- 对于NaN。浮点数始终将NaN和无穷表示为nan,inf或-inf。
like-
>>> float("3.500")
3.5
>>>float(100)
100.0
如果您的数学和化学值为int
,那么它应该返回相同的结果。
答案 1 :(得分:-1)
在两种情况下,它只会打印“通过”。 float()仅将值转换为浮点值。
math=90
chemistry=80
if float(math)>70 and float(chemistry)>70:
print("pass")
if math>70 and chemistry>70:
print("pass")`