python - 如何使用python屏蔽输入并显示最后4位数字
问题描述
我在制作这个程序时遇到了麻烦。我需要的是一个程序,它会询问用户卡的数量,示例输入是这样的:
in1 = '1234 4214 1521 5132'
in2 = '52310259 1269102392'
输出应如下所示:
'xxxx xxxx xxxx 5132'
'xxxxxxxx xxxxxx2392'
它应该显示输入的最后 4 位。你们能帮我用python这个程序吗?
将不胜感激一些帮助
解决方案
你可以这样做:
credit1 = '1234 4214 1521 5132'
credit2 = '52310259 1269102392'
s = credit1[-4:].rjust(len(credit1), '*')
print(s)
s = credit2[-4:].rjust(len(credit2), '*')
print(s)
你得到的输出是:
***************5132
***************2392
使用正则表达式的另一种解决方案:
import re
print(re.sub('\d', '*', credit1[:-4]) + credit1[-4:])
print(re.sub('\d', '*', credit2[:-4]) + credit2[-4:])
将保留空格,输出为:
**** **** **** 5132
******** ******2392
编辑k
针对用户希望保留位数
的情况的解决方案:
import re
k = 7
c1 = len(re.sub("[^0-9]", "", credit1)) - k
c2 = len(re.sub("[^0-9]", "", credit2)) - k
print(re.sub('\d', '*', credit1, c1))
print(re.sub('\d', '*', credit2, c2))
的输出k=3/4/5/6/7
是:
**** **** **** *132
******** *******392
**** **** **** 5132
******** ******2392
**** **** ***1 5132
******** *****02392
**** **** **21 5132
******** ****102392
**** **** *521 5132
******** ***9102392
推荐阅读
- excel - Excel VB 和 XML 命名空间命名约定
- maven - Blackduck 扫描显示文件已被旧版本的 Jetty Http 修改
- wordpress - 联系表格 7 文件附件未附加到电子邮件
- xml - 如何使用配置变量在 NLog FileTarget 上配置 maxArchiveDays
- python - Python SQLite 查询总是返回 None
- azure - 所有这些 MS Azure 条款和结构之间的关系是什么?
- ssl - Openssl dnQualifier 哈希
- aws-cli - 如何从 AWS CLI 获取给定 AWS 负载均衡器的 HostedZoneId?
- fortran - Fortran 中非常少的数字变为负数
- html - 调整大小时,绝对 div 不会留在父相对 div