掩盖字符串的一部分

时间:2018-09-19 14:21:54

标签: python

所以我的问题是,我有一个任务需要解决。

我有一个简单的功能:

def multiplicator(x, y):
    var1 = x * y
    return var1

我需要使用此乘法器才能在另一个函数中获得此结果:

Enter: "5435843398429829"     output: "****************9829"

输入中的最后4位数字不应被屏蔽,而其余的数字应以“#”进行屏蔽。

3 个答案:

答案 0 :(得分:1)

让我们将要屏蔽的号码存储在一个名为masked的变量中。

unmasked = str(unmasked)
masked = len(unmasked[:-4])*"#"+unmasked[-4:]

我希望这行得通。

答案 1 :(得分:0)

Vengat的很好的解决方案,它也适用于rjust

def multiplicator(x, y):
    var1 = str(x * y)
    #################
    # masking
    #################
    masked = var1[-4:].rjust(len(var1),"#")
    return masked

函数中没有屏蔽

def multiplicator(x, y):
    return x * y


def masker(n):
    var1 = str(n)
    masked = var1[-4:].rjust(len(var1),"#")
    return masked

答案 2 :(得分:0)

只是实现了这一点,所以我想把它放在这里:

  

对于Python> = 3.6(使用f字符串)

from math import ceil

def mask_string(s, perc=0.6):
    mask_chars = ceil(len(s) * perc)
    return f'{"*" * mask_chars}{s[mask_chars:]}'