如何通过参数传递大于或小于符号?

Jay*_*Jay 8 python

如果可以>=通过参数传递符号:如:

def example():
   num1 = 0
   num2 = 5
   sign1 = >=
   sign2 = <=

   test(num1, num2, sign1, sign2)

def test(num1, num2, sign1):
    while num1 sign1 0 and num2 sign2 5:
       print('whatever')
       num1+=1
       num2-=1
Run Code Online (Sandbox Code Playgroud)

显然这不是我真正想要做的;我只是想知道是否有可能......

aws*_*ice 6

是的,可以使用操作员模块。但是,它们被视为函数而不是字符串,这在您最初的尝试中似乎是这样。

from operator import le, ge

def example():
   num1 = 0
   num2 = 5
   sign1 = ge
   sign2 = le


def test(num1, num2, sign1):
    while sign1(num1, 0) and sign2(num2, 5):
       print('whatever')
       num1+=1
       num2-=1
Run Code Online (Sandbox Code Playgroud)