你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
for i in range(7):
print(" "*(6-i),end="")
for j in range(i):
print(chr(i-j+ord("A")),end="")
for j in range(i+1):
print(chr(j+ord("A")),end="")
print()
def check_id_data(n):
var=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
var_id=['1','0','x','9','8','7','6','5','4','3','2']
sum = 0
for i in range(0,17):
sum += int(n[i])*var[i]
sum %= 11
return var_id[sum]==str(n[17])
n = input("请输入18位身份证号:")
if len(n) != 18:
print("长度错误")
elif not n[0:17].isdigit():
print("有无效字符")
elif not check_id_data(n):
print("校验码错误")
else:
print("校验码正确")