自己看---华为od--敏感字段加密

题目描述
给定一个由多个命令字组成的命令字符串:

字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号;
命令字之间以一个或多个下划线_进行分割;
可以通过两个双引号””来标识包含下划线_的命令字或空命令字(仅包含两个双引号的命令字),双引号不会在命令字内部出现;
请对指定索引的敏感字段进行加密,替换为******(6个*),并删除命令字前后多余的下划线_。 如果无法找到指定索引的命令字,输出字符串ERROR。

输入描述
输入为两行,第一行为命令字索引K(从0开始),第二行为命令字符串S。

输出描述
输出处理后的命令字符串,如果无法找到指定索引的命令字,输出字符串ERROR

用例1
输入
1
password__a12345678_timeout_100
输出
password_timeout_100
用例2
输入
2
aaa_password
"a12_45678"timeout__100""_
输出
aaa_password_
timeout_100""

K=int(input())
S=input()+'_'
isflag= False
str_list=[]
temp=''
for i in S:
    if i=='"':
        isflag = not isflag
    if i!='_' or isflag:
        temp+=i
    else:
        if temp!='':
            str_list.append(temp)
        temp=''
if K>=len(str_list):
    print('ERROR')
else:
    str_list[K]='******'
    print('_'.join(str_list))

你可能感兴趣的:(华为od,数据结构)