这个怎么写,十个数字的isbn码包含?处丢失的数字,求?处有无数字可以组成合法的isbn码,如果有输出1没有输出-1

这个怎么写,十个数字的isbn码包含?处丢失的数字,求?处有无数字可以组成合法的isbn码,如果有输出1没有输出-1

isbn = "123456789?12" #这里你换成 input(),我在线测试写死的。
valid = False
# 枚举0-9的数字,替换?处并校验是否合法
for i in range(10):
test_isbn = isbn.replace("?", str(i))
s = 0
for j in range(1, 13):
# 根据规则计算ISBN码校验位
s += (10 - j) * int(test_isbn[j-1])
check_digit = (11 - s % 11) % 11
if check_digit == int(test_isbn[-1]):
valid = True
break
# 输出结果
if valid:
print("1")
else:
print("-1")