身份证号敏感信息屏蔽

屏蔽掉身份证号中的第s~t位字符,输出处理后的号码
输入一行,三个输入项,第一个是身份证号,第二个是整数s表示屏蔽的起始位,第三个是整数t,表示屏蔽的结束位
输出一行,为处理后的身份证号

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
以下是一个Python的示例代码,用于屏蔽身份证号中的敏感信息:

id_card = input("请输入身份证号:")
s = int(input("请输入屏蔽的起始位:"))
t = int(input("请输入屏蔽的结束位:"))

if s < 0 or t >= len(id_card):
    print("输入的起始位和结束位不合法")
else:
    # 将需要屏蔽的部分替换为*
    id_card = id_card[:s] + '*'*(t-s+1) + id_card[t+1:]
    print("处理后的身份证号为:", id_card)

在这个示例中,首先使用input()函数获取用户输入的身份证号、起始位和结束位,然后对输入进行检查,如果输入的起始位和结束位不合法,则输出错误信息;否则,使用字符串切片和字符串拼接操作将需要屏蔽的部分替换为*,最后输出处理后的身份证号。

请注意,在实际应用中,为了保护用户的隐私,通常不会将敏感信息明文输出,可以将其替换为其他符号或使用加密算法进行处理。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

# 读取输入的三个参数
id_number = input()
s, t = map(int, input().split())
# 判断s和t的值是否合法
if s <= 0 or t > len(id_number) or t < s:
    print("输入的参数不合法!")
else:
    # 将身份证号码转换为列表,将第s~t位字符替换为“*”
    id_list = list(id_number)
    for i in range(s-1, t):
        id_list[i] = '*'
    # 将处理后的身份证号码列表转换为字符串并输出
    processed_id_number = ''.join(id_list)
    print(processed_id_number)
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7618513
  • 你也可以参考下这篇文章:编写函数,接受一个整数t为参数,打印杨辉三角前t行
  • 除此之外, 这篇博客: 上机作业111中的 构造串s,求其子串,放于串t中,并输出串t;然后再将串s中的这个子串删除,输出新串s。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 提示:完整的程序包括前缀、串的堆分配结构体类型定义、初始化串子函数、串赋值子函数、输出子函数、求子串子函数、删除子串子函数、主函数等。

    #include <iostream>
    #include "stdio.h"
    #include "stdlib.h"
    using namespace std;
    
    #define INITSTRLEN 100
    struct HString {
    	char *ch;//存储空间基址
    	int length;
    	int strsize;
    };
    
    
    void initstring(HString *s) {
    	s->ch=(char *)malloc(INITSTRLEN*sizeof(char));
    	if(!s->ch) {
    		printf("OVERFLOW!");
    		exit(1);
    	}
    	s->length=0;
    	s->strsize=INITSTRLEN;
    }
    
    
    
    
    void strassign(HString *s1,char *s2) {
    	int i=0;
    	while(s2[i]!='\0')
    		i++;
    
    	if(i>s1->strsize-1) {
    		s1->ch=(char *)realloc(s1->ch, (i+1)*sizeof(char));
    	}
    	       s1->length=i;
    
    	for(i=0; i<s1->length; i++)
    		s1->ch[i]=s2[i];
    	s1->ch[i]='\0';
    }
    
    
    
    
    void print(HString s) {
    	int i;
    	for(i=0; i<s.length; i++)
    		printf("%c",s.ch[i]);
    	printf("\n");
    }
    
    int substr(HString s,int i,int j,HString *t) {
    	int k;
    	if(i<1 || i>s.length || j<0 || j>s.length-i+1) {
    		printf("error!");
    		return 0;
    	}
    
    	if(t->strsize-1<j) {
    		t->ch=(char *)realloc(t->ch, (j+1)*sizeof(char));
    		t->strsize=j+1;
    	}
    
    	for(k=0; k<j; k++)
    		t->ch[k]=s.ch[i-1+k];
    
    	t->ch[k]='\0';
    	t->length=j;
    	return 1;
    }
    
    
    int delstr(HString &s,int i,int j) {
    	int k;
    	if(i<1 || i>s.length || j<0 || j>s.length-1+i) {
    		printf("error!\n");
    		return 0;
    	}
    
    	for(k=i-1+j; k<s.length; k++)
    		s.ch[k-j]=s.ch[k];
    
    	s.length=s.length-j;
    	s.ch[s.length]='\0';
    	return 1;
    }
    
    
    
    
    int main(int argc, char** argv) {
    	HString s,t;
    	int pos,len;
    	char *A="I am a good student.";
    	initstring(&s);
    	initstring(&t);
    	strassign(&s,A);
    	cout<<"string s:"<<endl;
    	print(s);
    	cout<<"input substring position:";
    	cin>>pos;
    	cout<<"input substring length:";
    	cin>>len;
    
    	if(substr(s,pos,len,&t)) {
    		cout<<"string t:"<<endl;
    		print(t);
    		puts(t.ch);
    		cout<<t.ch<<endl;
    	}
    
    	if(delstr(s,pos,len)){
    		cout<<"new string s:"<<endl;
    	print(s);
    	} 
    		
    	return 0;
    }