可以这样做:
def get_gender(id_number):if len(id_number) != 18:
return "invalid"
if int(id_number[16]) % 2 == 0:
return "female"
else:
return "male"
# 示例
print(get_gender("12010820031001001X")) # 输出 "male"
print(get_gender("12010820031001002X")) # 输出 "female"
print(get_gender("1201082003100100")) # 输出 "invalid"
这段代码首先检查身份证号是否为18位,如果不是,则直接输出"invalid"。如果身份证号是18位,则将第17位数字转化为整数,并判断它是否为偶数,是则输出"female",否则输出"male"。