用Python输入一个18位身份证号,用八个*替换其中代表出生年月的字符后输出,如果输入不足18位,输出error
时间: 2023-06-02 11:02:07 浏览: 816
身份证号码是一串18位数字和字母的组合,其中前17位代表地区、出生年月和顺序码等信息,最后一位是校验码。因此,如果要将出生年月替换成*,需要知道这些字符在身份证号码中的位置。
以下是一个示例代码,可以实现输入一个18位身份证号,用八个*替换其中代表出生年月的字符后输出。如果输入不足18位,则输出"error"。
```python
id_card = input("请输入18位身份证号码:")
if len(id_card) != 18:
print("error")
else:
id_card = id_card[:10] + "********" + id_card[18:]
print(id_card)
```
在这个代码中,我们首先检查输入的身份证号码长度是否为18位。如果不是,就输出"error"。如果是,就将原来的身份证号码从第11位到第18位替换成八个*,然后输出新的身份证号码。
需要注意的是,身份证号码的格式可能会因为不同的行政区划而有所不同,因此这个代码可能无法适用于所有的身份证号码。在实际应用中,需要根据具体情况进行调整。
相关问题
输入一个18位身份证号,用8个*替换其中代表出生年月的字符后输出,如果输入不足18位,输入error
输入示例:320102199001011234
输出示例:320102********1234
输入示例:32010219900101
输出示例:error
代码示例(Python):
id_num = input() # 输入身份证号
if len(id_num) != 18: # 判断输入是否为18位
print("error")
else:
new_id_num = id_num[:10] + "********" + id_num[18-4:] # 将代表出生年月的字符替换为8个*
print(new_id_num)
输入一个18位的身份证号,用8个‘*’代替其中出生年月的字符后输出,输入身份证号错误时输出no。用Python书写程序
可以使用Python内置的字符串替换函数 `replace()` 来实现:
```python
id_num = input("请输入18位身份证号:")
if len(id_num) != 18:
print("no")
else:
# 将出生年月替换为8个'*'
id_num_hide = id_num[:10] + "********" + id_num[18:]
print("处理后的身份证号为:", id_num_hide)
```
其中,我们先判断输入的身份证号长度是否为18位,如果不是,则输出 `no`。如果输入正确,则使用切片将出生年月部分替换为8个 `*`,并将结果输出。
阅读全文