蒙圈,逻辑混乱
分析:可以用split('<='),嘿嘿,好简单
但是,这不是我蒙圈的原因,比如用for 循环
定义变量:expr = 'id<=10'
expr = 'id<=10'
res =[]
for i in expr:
res.append(i)
print(res)
['i', 'd', '<', '=', '1', '0'] # 结果就是它
取出<=如何操作???
expr = 'id<=10' res =[] for i in expr: if i == '<=': print(i) else: print('不存在 <=') print(res)
我是不是,太无聊了啊,
算了,咱还是要用到字符串拼接 (就是 + ), 我的正常逻辑
expr = 'id<=10' key = ['<','>','='] res =[] opt = ''# 拼接 运算符 char =''# 拼接字符 tag = False for i in expr: if not tag: char += i # 最终结果 id< if i in key: tag = True opt+=i res.append(char) # 结果 <= char ='' if i not in key and tag: res.append(opt) char +=i # 结果 10,但是没有加到 res opt ='' print(res)
['id<', '', '<=', ''] 结果是这个 样子的,哎
调整一下 if 判断语句的次序呢,且重复利用 for - else 循环
expr = 'id<=10' key = ['<','>','='] res =[] opt = ''# 拼接 运算符 char =''# 拼接字符 tag = False for i in expr: if i in key: tag = True res.append(char) # 结果 <= char ='' opt += i if not tag: char += i # 最终结果 id if i not in key and tag: res.append(opt) char +=i # 结果 10,但是没有加到 res opt ='' else: res.append(char) print(res)
['id', '', '<=', '', '10'] 又两个空白元素,分析一下空白元素在哪里被添加的
前一个 空白元素是 char='' 产生的,后一个 空白元素是 opt='' 产生的,
前一个空白元素用 if len(char) !=0 满足条件才添加(append)
后一个空白元素 主要原因是没有把 标识位 tag 重置为 False,从而导致了用混了判断条件,如果 把 expr = 'iid<=1709',是不是空格更多了呢,嘿嘿
expr = 'iid<=170' key = ['<','>','='] res =[] opt = ''# 拼接 运算符 char =''# 拼接字符 tag = False for i in expr: if i in key: tag = True if len(char) != 0: res.append(char) # 结果 <= char = '' opt += i if not tag: char += i # 最终结果是 id if i not in key and tag: tag = False res.append(opt) char +=i # 结果 10,但是没有加到 res opt ='' else: res.append(char) print(res)
最终正确答案 ['iid', '<=', '170']
这就是今天的战绩了!