pyr*_*dka 2 python conditional return
我希望我很清楚我想用这个功能做什么:
def this_one_operator(math_operator, num1, num2):
return num1 * num2 if operator == "*" \
or num1 / num2 if operator == "/" \
or num1 + num2 if operator == "+" \
or num1 - num2 if operator == "-"
Run Code Online (Sandbox Code Playgroud)
显然,它不起作用(SyntaxError:无效语法).
对不起,如果我重复这个问题.我尽力在这里找到如何处理这个问题.此外,我感谢任何建议如何编辑问题,如果它不准确.
谢谢.
Python有一个value if condition else default 三元操作,您可以为此结果进行堆叠.然而,它不是非常紧凑,并且不是非常pythonic做你似乎想做的事情.
相反,您可以尝试:
import operator
def binary_op(op, lopd, ropd):
return { '/' : operator.floordiv,
'*' : operator.mul,
'+' : operator.add,
'-' : operator.sub,
'%' : operator.mod }[op](lopd, ropd)
Run Code Online (Sandbox Code Playgroud)