tiancaizcx 发表于 2022-9-3 22:27:15

求问一个数组问题

我做的一个小项目,里面涉及一个数组问题不知道怎么解决,求大神
我做一个合同自动生成的小项目
里面借款合同要关联保证合同和抵押合同
我设定一个数组,比如说
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个呢?

tiancaizcx 发表于 2022-9-3 22:45:21

如图,左面2个数据,对应右边应该也是2个,结果输出了3个

wp231957 发表于 2022-9-4 05:46:49

tiancaizcx 发表于 2022-9-3 22:45
如图,左面2个数据,对应右边应该也是2个,结果输出了3个

没看懂啊
不过为啥不用字典来做呢

傻眼貓咪 发表于 2022-9-4 10:44:33

为什么不包装呢(用 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号

tiancaizcx 发表于 2022-9-4 10:54:34

傻眼貓咪 发表于 2022-9-4 10:44
为什么不包装呢(用 class)?你的对象数据有:保证人和编号,只要包装成 class,数组里就简单易看多了。
...

我刚学时间不长,有些是照葫芦画瓢得来的,我看一下,感谢大神指点

傻眼貓咪 发表于 2022-9-4 11:15:48

tiancaizcx 发表于 2022-9-4 10:54
我刚学时间不长,有些是照葫芦画瓢得来的,我看一下,感谢大神指点

大家一起加油吧。

注:其实你不用 hetong = xxxxx 这样命名的,Python 好处是支援中文命名,你可以这样写:合同 = xxxxx,我的话,是直接用英文。
页: [1]
查看完整版本: 求问一个数组问题