各位看看这该怎么改啊

img


num=input()
print('出生日期是',int(num[6:10]),'年',int(num[10:12]),'月',int(num[12:14]),'日')
sex=int(num[16:17])
if sex%2==0:
    print('性别是 女')
else:
    print('性别是 男')
num=list(num)
num=list(map(int,num[0:17]))
num1=num[0]*7+num[1]*9+num[2]*10+num[3]*5+num[4]*8+num[5]*4+num[6]*2+num[7]*1+num[8]*6+num[9]*3+num[10]*7+num[11]*9+num[12]*10+num[13]*5+num[14]*8+num[15]*4+num[16]*2
num2=int(num1)%11
num3=['1','0','X','9','8','7','6','5','4','3','2']
num4=num3[num2]
if num[17]==num4:
    print('校验码正确')
else:
    print('校验码不正确')

把你的代码用代码块贴出来 不要截图我帮你改一下

题主你print,有map那一行的num
它打印不出最后一个数字
这是一个潜在的逻辑错误

下面是正确的
在第一行的下面加一行:
numc = num[:]
在第14行将num[14]改成:
numc[14]
改后代码运行达到题目要求