Python3.8 Luhn算法变体开发中如何将字符列表转为字符串打印
问题根因
你在处理逻辑中直接将存储原始输入ID的ide变量覆盖为列表类型,后续对列表执行str()转换得到的是列表对象的标准字符串表示,因此会输出['5','5',...]格式的内容,无法得到原始连续数字串。
修复方案
方案1(更推荐):提前保留原始输入
不要覆盖存储原始输入的ide变量,单独声明新变量存储用于计算的列表:
- 将原代码中
ide = list(ide)修改为:
ide_list = list(ide)
- 将后续遍历语句
for place, num in enumerate(ide):修改为:
for place, num in enumerate(ide_list):
- 最后打印时直接使用原始
ide变量即可,删除ide = str(ide)的冗余转换。
方案2:拼接列表还原原始字符串
如果不需要保留原始输入变量,可使用字符串join方法将字符列表拼接为连续字符串,将最后打印前的ide = str(ide)替换为:
ide = ''.join(ide)
join方法会按顺序拼接列表内的所有字符元素,直接得到原始输入的连续数字串。
内容的提问来源于stack exchange,提问作者Clay Kerfuffles
相关产品推荐
相关产品推荐

