类型:字符串
描述
随着计算机与互联网技术快速发展,电话号码,家庭住址,姓名等个人隐私信息被泄露的风险也越来越高。
数据脱敏是指对敏感信息进行变形处理,比如将电话号码 ‘13000000000’ 中的四位用 ’*‘ 来代替,变为 ‘130****0000’。
本题要求从输入的学生信息中将手机号码,姓名,学号数据进行脱敏处理。
处理规则如下:
- 学号(13 位或 14 位数串):第 5-11 位修改为“*” 如 ’0121134567801‘ 修改为 ’0121*******01‘
- 姓名:第2位修改为“*“如'贾诩' 修改为“贾*“
- 电话号码(11位数串):第4-7位 修改为“*“如‘13000000000’中修改为‘130****0000’
输入格式
第一行输入 n,代表 n 个同学的信息
依次输入 n 行学生信息数据,每行输入一名学生的学号、姓名、电话号码,数据间以空格间隔
输出格式
将学生数据脱敏后的信息保存到二维列表中,并输出这个二维表。
如果 n 不是正整数,输出’ERROR‘。(本题保证 n 是整数,且信息完整)
示例 1
输入:
2
01211345678011 张辽 14457673508
01211345678012 徐晃 18514863218
输出:
[['0121*******011', '张*', '144****3508'], ['0121*******012', '徐*', '185****3218']]
参考代码
用到了字符串切片处理与合并等操作
def DataMasking():
mask = [input().split() for i in range(n)]
for item in mask:
item[0] = item[0][:4] + '*' * 7 + item[0][11:]
item[1] = item[1][0] + '*' + item[1][2:]
item[2] = item[2][:3] + '*' * 4 + item[2][7:]
return mask
if __name__ == '__main__':
n = int(input())
print('ERROR') if n <= 0 else print(DataMasking())