热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用python掩盖输入并显示最后4位数字

我在制作此程序时遇到麻烦。我需要的是一个程序,该程序将询问用户卡号,示例输入如下

我在制作此程序时遇到麻烦。
我需要的是一个程序,该程序将询问用户卡号,示例输入如下:

in1 = '1234 4214 1521 5132'
in2 = '52310259 1269102392'

输出应如下所示:

'xxxx xxxx xxxx 5132'
'xxxxxxxx xxxxxx2392'

它应该显示输入的最后4位数字。你们可以使用python帮助我完成此程序吗?

不胜感激


您可以执行以下操作:

driver_avg_ratings=4.38

您得到的输出是:

rider_avg_ratings=1.25

使用正则表达式的另一种解决方案:

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))

,

import re
def mask(string,digits_to_keep=4,mask_char='x'):
num_of_digits = sum(map(str.isdigit,string))
digits_to_mask = num_of_digits - digits_to_keep
masked_string = re.sub('\d',mask_char,string,digits_to_mask)
return masked_string

这给出了:

>>> mask(in1)
'xxxx xxxx xxxx 5132'
>>> mask(in1,6)
'xxxx xxxx xx21 5132'
>>> mask(in2)
'xxxxxxxx xxxxxx2392'

,

这是另一种方法。您需要从末尾开始迭代字符串,以查找最后四位数字并将它们原样放置在result中。对于其余数字,您可以放置​​X标记:

def showLastDigits(string,numOfDigits):
result = []
counter = 0
for i in range(len(string)-1,-1,-1):
if string[i] == ' ':
result.append(string[i])
elif string[i].isdigit() and counter <4:
result.append(string[i])
counter += 1
else:
result.append('X')
return "".join(result[::-1])
test1 = "1234 4214 1521 5132"
test2 = "52310259 1269102392"
print(showLastDigits(test1,4))
print(showLastDigits(test2,4))

这将返回:

XXX XXXX XXXX 5132
XXXXXXX XXXXXX2392

您还可以设置要在numOfDigits参数中显示的位数。

,

您还可以使用如下正则表达式:

import re
p= re.compile(r'(\d{4})$')

Try it online!


推荐阅读
  • 本文探讨了一种高效的算法,用于生成所有数字(0-9)的六位组合,允许重复使用数字,并确保这些组合的和等于给定的整数N。该算法通过优化搜索策略,显著提高了计算效率,适用于大规模数据处理和组合优化问题。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Python全局解释器锁(GIL)机制详解
    在Python中,线程是操作系统级别的原生线程。为了确保多线程环境下的内存安全,Python虚拟机引入了全局解释器锁(Global Interpreter Lock,简称GIL)。GIL是一种互斥锁,用于保护对解释器状态的访问,防止多个线程同时执行字节码。尽管GIL有助于简化内存管理,但它也限制了多核处理器上多线程程序的并行性能。本文将深入探讨GIL的工作原理及其对Python多线程编程的影响。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 如何在多类别分类模型中精确提取混淆矩阵中的假阳性(FP)和假阴性(FN)指标是评估模型性能的关键步骤。本文详细探讨了混淆矩阵的结构及其在多类别分类任务中的应用,提供了有效的方法来识别和计算这些重要指标,以帮助研究人员和实践者更好地理解模型的误分类情况。 ... [详细]
  • Python进阶笔记:深入理解装饰器、生成器与迭代器的应用
    本文深入探讨了Python中的装饰器、生成器和迭代器的应用。装饰器本质上是一个函数,用于在不修改原函数代码和调用方式的前提下为其添加额外功能。实现装饰器需要掌握闭包、高阶函数等基础知识。生成器通过 `yield` 语句提供了一种高效生成和处理大量数据的方法,而迭代器则是一种可以逐个访问集合中元素的对象。文章详细解析了这些概念的原理和实际应用案例,帮助读者更好地理解和使用这些高级特性。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 本文探讨了 Java 中 Pair 类的历史与现状。虽然 Java 标准库中没有内置的 Pair 类,但社区和第三方库提供了多种实现方式,如 Apache Commons 的 Pair 类和 JavaFX 的 javafx.util.Pair 类。这些实现为需要处理成对数据的开发者提供了便利。此外,文章还讨论了为何标准库未包含 Pair 类的原因,以及在现代 Java 开发中使用 Pair 类的最佳实践。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
author-avatar
1234567山02
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有