所以我的问题是,我有一个任务需要解决。
我有一个简单的功能:
def multiplicator(x, y):
var1 = x * y
return var1
我需要使用此乘法器才能在另一个函数中获得此结果:
Enter: "5435843398429829" output: "****************9829"
输入中的最后4位数字不应被屏蔽,而其余的数字应以“#”进行屏蔽。
答案 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:]}'