有没有办法有效地做到:
if operator != ('+' or '-' or '*' or '/'):
无需执行
operator != '+' and operator != '-' and operator != '*'
答案 0 :(得分:5)
使用in
运算符
if operator not in ('+', '-', '/')
答案 1 :(得分:0)
阅读解决方案的有效方法是:if operator in ('+', '-', '*', '/')
或简单地if operator in '+-*/'
(感谢@kindall),就像在字符串中查找字符串一样。我个人觉得它的可读性较差。
使用字典(例如,将函数绑定到每个运算符)并使用例外:
ops = {'+': 'plus', '-': 'minus', '*': 'times', '/': 'div'}
operator = '/'
try:
print ops[operator]
except KeyError:
print "Unknow operation (%s)" % (operator)