这些语句之间有什么区别?

时间:2019-07-19 05:10:12

标签: python-3.x

当我运行两个语句时,我得到了不同的答案。两者之间有什么区别。 mathchemistry处于int的初始状态。

if float(math) > 70 and float(chemistry) > 70:

if math > 70 and chemistry > 70:

他们不应该给出相同的结果吗?它们是int的初始状态。

2 个答案:

答案 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")`