求问一个数组问题
我做的一个小项目,里面涉及一个数组问题不知道怎么解决,求大神我做一个合同自动生成的小项目
里面借款合同要关联保证合同和抵押合同
我设定一个数组,比如说
fill_list = _map()
car_list = _map()
我调用的时候就很正常
但是呢,另外一个位置,我用的数组,第二个数组里面涉及重复性的信息(只有保证合同编号和抵押合同编号)
我调用就会出现一些莫名其妙的问题
fill_list1 = _map()
hetong = _map()
elif run.text.strip() == '14':
if len(fill_list1) > 0:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '15':
if len(fill_list1) > 1:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '16':
if len(fill_list1) > 2:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '17':
if len(fill_list1) > 3:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '18':
if len(fill_list1) > 4:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '19':
if len(fill_list1) > 5:
run.text = fill_list1
else:
run.text = ''
elif run.text.strip() == '20':
if len(hetong) > 0:
run.text = hetong
else:
run.text = ''
elif run.text.strip() == '21':
if len(hetong) > 1:
run.text = hetong
else:
run.text = ''
elif run.text.strip() == '22':
if len(hetong) > 2:
run.text = hetong
else:
run.text = ''
elif run.text.strip() == '23':
if len(hetong) > 3:
run.text = hetong
else:
run.text = ''
elif run.text.strip() == '24':
if len(hetong) > 4:
run.text = hetong
else:
run.text = ''
elif run.text.strip() == '25':
if len(hetong) > 5:
run.text = hetong
else:
run.text = ''
具体问题是,如果我只存在抵押人1和抵押人2,那么输出的时候会产生抵押人1和抵押人2,同时对应3个抵押合同编号
实际上我抵押人3是空的,也就是说第二个hetong = _map数组里面应该是2个数据,为啥会显示3个呢? 如图,左面2个数据,对应右边应该也是2个,结果输出了3个 tiancaizcx 发表于 2022-9-3 22:45
如图,左面2个数据,对应右边应该也是2个,结果输出了3个
没看懂啊
不过为啥不用字典来做呢 为什么不包装呢(用 class)?你的对象数据有:保证人和编号,只要包装成 class,数组里就简单易看多了。
参考代码:class Guarantor: # 担保人
def __init__(self, name = None, contract_no = None):
self.name = name
self.contract_no = contract_no
def __str__(self):
return f"担保人名称:{self.name}\t\t担保合同编号:{self.contract_no}"
class Mortgagor: # 债务人
def __init__(self, name = None, contract_no = None):
self.name = name
self.contract_no = contract_no
def __str__(self):
return f"债务人名称:{self.name}\t\t债务合同编号:{self.contract_no}"
Person_A = Guarantor("抵1", "高低字2002第025001号")
Person_B = Guarantor("抵2", "高低字2002第025001号")
agreement =
for each in agreement:
print(each)担保人名称:抵1 担保合同编号:高低字2002第025001号
担保人名称:抵2 担保合同编号:高低字2002第025001号 傻眼貓咪 发表于 2022-9-4 10:44
为什么不包装呢(用 class)?你的对象数据有:保证人和编号,只要包装成 class,数组里就简单易看多了。
...
我刚学时间不长,有些是照葫芦画瓢得来的,我看一下,感谢大神指点 tiancaizcx 发表于 2022-9-4 10:54
我刚学时间不长,有些是照葫芦画瓢得来的,我看一下,感谢大神指点
大家一起加油吧。
注:其实你不用 hetong = xxxxx 这样命名的,Python 好处是支援中文命名,你可以这样写:合同 = xxxxx,我的话,是直接用英文。
页:
[1]