|

楼主 |
发表于 2021-7-14 22:03:57
|
显示全部楼层
本帖最后由 fc5igm 于 2021-7-14 22:05 编辑
嗯。。貌似不是我想要的样子,不过还是选你吧。
这是我后来搞得代码
- class Timer():
- def __init__(self):
- self.n=1
- def __add__(self, other):
- self.n=self.n+other
- return self.n-1
- timer=Timer()
- # def jg(n):
- # tab='\t'
- # if n!=4:
- # print(tab*(n),f'if jg{n}==1:',sep='')
- # jg(n+1)
- # print(tab*(n),'else:',sep='')
- # jg(n+1)
- # else:
- # return print(tab*(n),f'return {timer+1}',sep='')
- # print('if jg0==1:')
- # jg(1)
- def jg(n):
- tab='\t'
- if n!=21 and n!=13: #最后一个jg编号是n-1
- f.write(f'{tab*(n+1 if n<13 else n)}if jg{n}==1:\n')
- jg(n+1)
- f.write(f'{tab*(n+1 if n<13 else n)}elif jg{n}==0:\n')
- jg(n+1)
- elif n==13:
- jg(n+1)
- else:
- f.write(f'{tab*(n+1 if n <13 else n)}return "{timer+1:06}"\n')
- with open('jg_grammer.py','a') as f:
- f.write('def verify(jg0,jg1,jg2,jg3,jg4,jg5,jg6,jg7,jg8,jg9,jg10,jg11,jg12,jg14,jg15,jg16,jg17,jg18,jg19,jg20):\n')
- f.write('\tif jg0==1:\n')
- f=open('jg_grammer.py','a')
- jg(1)
复制代码
被注释的部分就是print,不过因为是要做个筛选条件的判断模块出来,所以后边又改了下,改成了写成文件的样子。
通过代码生成的文件节选
- def verify(jg0,jg1,jg2,jg3,jg4,jg5,jg6,jg7,jg8,jg9,jg10,jg11,jg12,jg14,jg15,jg16,jg17,jg18,jg19,jg20):
- if jg0==1:
- if jg1==1:
- if jg2==1:
- if jg3==1:
- if jg4==1:
- if jg5==1:
- if jg6==1:
- if jg7==1:
- if jg8==1:
- if jg9==1:
- if jg10==1:
- if jg11==1:
- if jg12==1:
- if jg14==1:
- if jg15==1:
- if jg16==1:
- if jg17==1:
- if jg18==1:
- if jg19==1:
- if jg20==1:
- return "000001"
- elif jg20==0:
- return "000002"
- elif jg19==0:
- if jg20==1:
- return "000003"
- elif jg20==0:
- return "000004"
- elif jg18==0:
- if jg19==1:
- if jg20==1:
- return "000005"
- elif jg20==0:
- return "000006"
- elif jg19==0:
- if jg20==1:
- return "000007"
- elif jg20==0:
- return "000008"
- elif jg17==0:
- if jg18==1:
- if jg19==1:
- if jg20==1:
- return "000009"
- elif jg20==0:
- return "000010"
- elif jg19==0:
- if jg20==1:
- return "000011"
- elif jg20==0:
- return "000012"
- elif jg18==0:
复制代码 |
|