a=58,b=True则表达式a-b>51/3的值是什么?实在是不会
b=True,与整数减法计算时编译器会自动转为整数1,False为0。>优先级低于数学运算符。整个这一串是逻辑表达式,58-1大于51/3,结果是True
import numpy as np
x = np.mat( '1 2 3 ; 4 5 6' )
y = x[ 0 , : ]
y[ 0 , 0 ] += 1
print( "x = \n" , x )
print( "y = \n" , y )
从结果可以看出,x中的第一行元素和y中元素地址是相同的。
首先明确Python中运算符的优先级,乘法、除法和取模运算符的优先级高于加法和减法运算符,而关系运算符(如a>b)又高于加减。因此,a-b>51/3的计算顺序是先执行51/3,再执行a-b,最后进行>比较。即(51/3)=17, a-b的结果减去17后是否大于0。下面给出具体的Python代码实现:
a = 70
b = 20
result = a - b > 51/3
print(result)
以上代码中,首先定义了变量a和b的值,然后用a-b得到差值,再用差值除以3得到51/3的值17。最后用>运算符将a-b-17的结果与0进行比较,如果大于0,则result的值为True,反之为False。最后将result变量的值输出到控制台上。
如果你想深入理解Python表达式的解析过程,可以参考以下两篇文章: