这个第三题为什么我运行的得不到正确结果?
本帖最后由 风百默 于 2022-3-2 13:56 编辑本帖最后由 isdkz 于 2022-3-2 14:25 编辑
那是因为你的第61到63行代码(行数根据你的图片),每个 x 都乘以 2 到 11 然后加了一遍,
因为 y 的取值在内循环里面,你可以用enumerate函数,
它可以根据你给定的起始值,来对你的每个数迭代出相应的索引,故对你的代码修改如下:
def ISBN(n):
copy = str(n)
c =
c = c[::-1]
sum1 = 0
for i,x in enumerate(c, start=2): # 注意这里
sum1 = i*x+sum1
for h in :
sum2 = sum1+h
if sum2%11 == 0:
if sum2%11 == 0:
if h == 10:
trueISBN = copy+'x'
else:
trueISBN = copy+str(h)
else:
continue
return (trueISBN)
for num in :
trueISBN = ISBN(num)
print(trueISBN)
isdkz 发表于 2022-3-2 14:23
那是因为你的第61到63行代码(行数根据你的图片),每个 x 都乘以 2 到 11 然后加了一遍,
因为 y 的取 ...
谢谢
页:
[1]