python中,判断两个字符串是否相等或一样,可以使用==或者is来判断,判断不一样可以使用isnot有时候两个字符串打印出来看着一样,但是判断却是False。如果两个字符串末尾有其他符号,比如回车‘\n’,print的时候无法发现的,所以需要strip,有时候==判断是True,is判断却是False。这是因为两个字符串来自不同的内存块,内存地址不一样,id()函数用于获取对象的内存地址,(ob1isob2)等价于(id(ob1)==id(ob2))id函数可以获得对象的内存地址,如果两个对象的内存地址是一样的,那么这两个对象肯定是一个对象和is是等价的。
Python是一种计算机编程语言,最初设计的初衷是想用于shell脚本的编写,因为自身的独特性和优势,后来被用于独立大型项目的开发中。
import reimport operator
def check_equation(eq):
eq = eq.replace(' ', '')
match = re.match(r'^(\d+)([\+\-\*\/])(\d+)=(\d+)$', eq)
if not match:
raise ValueError('%s is not a valid equation.' % eq)
op_map = {
'+': operator.add,
'-': operator.sub,
'*': operator.mul,
'/': operator.floordiv
}
a = int(match.group(1))
op = op_map[match.group(2)]
b = int(match.group(3))
c = int(match.group(4))
return op(a, b) == c
if __name__ == '__main__':
eq = input('Enter an equation: ')
print(check_equation(eq))
首先5>2为真,返回值1(1为真,0为假);然后就是1>7为假,返回0;最后0>8为假,返回0。最后结果为0。
或:
从左至右:5>2 =1
1>7 =0
0>8 =0
扩展资料:
一个表达式的赋值和算符的定义以及数值的定义域是有关联的。
两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。
一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。
参考资料来源:百度百科-表达式