**
from faker import Faker
fake = Faker(["zh_CN"])
Faker.seed(0)
def id_number(): #身份证号
id_number = fake.ssn()
return id_number
def gender(): #性别
gender_number = id_number()[16] #取字符串的17位
gender_number1 = int(gender_number)
if gender_number1 % 2 == 0:
return "女"
else:
return "男"
print(id_number())
print(gender())
运行结果
610403197004166048
男
哎呀,你调用了两次生成的是不同的身份证号。
你第一个打印,打印的是生成身份证号的函数,你第二个打印调用判断男女的函数的时候,是不是也会调用生成身份证号的函数?这前后两次生成的身份证号就不是同一个身份证号。
有帮助的话采纳一下哦!
你的gender()
里又调用了一次id_number()
重新生成了一次身份证。相当于你输出的身份证号和判别的身份证号不是一个号码。