本帖最后由 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:
|