输入一身份证号,写一算法,判断该身份证号为男还是女。(程序中对于15位和18位的身份证都可判断)
时间: 2024-10-16 17:05:10 浏览: 31
JAVA 18位身份证号码校验码的算法
在判断中国居民身份证号码的性别时,可以根据最后一位数字的规则来进行。对于18位的身份证号码,第17位是奇数表示男性,偶数表示女性。而对于早期的15位身份证号码,最后一位如果是0-9则表示奇数(男),X表示女性。以下是一个简单的Python算法示例:
```python
def judge_gender(id_number):
if len(id_number) == 15: # 15位身份证
gender_digit = id_number[-1]
if gender_digit.isdigit() and int(gender_digit) % 2 == 0:
return '女'
else:
return '男'
elif len(id_number) == 18: # 18位身份证
last_group = id_number[-2:] # 倒数第二位和第三位
if last_group[0] == 'X':
return '女'
else:
gender_digit = int(last_group[1])
return '男' if gender_digit % 2 == 1 else '女'
else:
raise ValueError("Invalid ID number length")
# 使用示例
id_card = "12345678901234567X" # 假设输入身份证号
gender = judge_gender(id_card)
print(f"{id_card}对应的性别是:{gender}")
阅读全文