zoukankan      html  css  js  c++  java
  • 通过operator函数将字符串转换回运算符

    需求

    由于某些需要,将一些运算符做了列表,以便后续的程序判断传入的字符串中是否包含该列表中的某一个运算符,如果包含,就用该运算符做运算.
    但该运算符已经转换是字符串了,没有办法做运算符用,经过全网搜索,发现operator函数可以实现本功能

    原始代码

    代码

    #代码
    condition='age > 20'
    cond_info=['>','<','=']
    for n in cond_info:
    	if n in condition:
    		print('ok',n,type(n))
    		if 30 n 20:
    			print('okkk')
    

    输出:
    运行结果
    提示n 是错误的语法,应为这里的n是字符串,不是运算符

    改良代码

    代码

    condition = 'age > 20'
    import operator
    
    cond_info = {'>': operator.gt, '<': operator.lt, '=': operator.eq}
    for n in cond_info:
        if n in condition:
            print('ok',n,type(n))
            if cond_info[n](30, 20):
                print('okkk')
    

    输出

    ok > <class 'str'>
    okkk
    
  • 相关阅读:
    HDU
    洛谷- P1306 斐波那契公约数
    HDU
    HDU
    POJ3321
    SPOJ
    HDU
    POJ 1236 Network of Schools
    POJ-3169 Layout (差分约束+SPFA)
    POJ-1062 昂贵的聘礼 (最短路)
  • 原文地址:https://www.cnblogs.com/noah-luo/p/10268005.html
Copyright © 2011-2022 走看看